精神病科黄主任
精神病科黄主任
全部文章
题解
cf(33)
dfs(3)
dp(动态规划)(4)
poj(1)
二分(7)
位运算(1)
双端队列(1)
娱乐(1)
并查集(3)
快速幂(1)
思维(1)
拓扑排序(1)
数学(11)
数论(2)
暴力(8)
最短路(1)
未归档(3)
栈(1)
预处理优化(3)
归档
标签
去牛客网
登录
/
注册
精神病科黄主任的博客
全部文章
/ 题解
(共118篇)
牛客练习赛62
A根据Ramsey定理可知,n≥6的话,三边同色的三角形,直接输出yes否则就n^3暴力check #include<bits/stdc++.h> using namespace std; int a[15][15]; int main(){ int t;cin>>t...
2020-04-29
0
647
【每日一题】换个角度思考
来自专栏
树状数组、询问离线排序我的想法是对询问离线,然后我们容易知道[l,r]的答案等于[1,r]的值减去[1,l-1]的值所以把每次询问的两个端点都拉出来,标记好是左端点还是右端点,将每个询问的[1,l-1]和[1,r]答案记录下来最后一次性输出差值即可。复杂度O( (n+m) * logn)貌似和大佬的...
2020-04-29
0
780
Interesting Matrix Problem
无语。。原来这是个水题。。当时看榜过的人并不多题目就没去看 题意:给你一个n * m的矩阵,矩阵中a[i][j]=i * jq次询问,每次询问矩阵中第k小的元素是多大。 很容易想到二分答案,因为答案具有单调性。那么对于每一行计算出有多少个≤二分的答案mid的个数,计算一下总个数和k比较即可。对于每一...
2020-04-28
0
536
【每日一题】美味佳肴
来自专栏
01背包、排序很容易看出来这是一个01背包,但是因为价值跟所完成的时间有关(即跟选取顺序有关),所以不能按照顺序直接背包,要先排序。考虑第i个和第j个两个菜,假设先完成第i个菜的价值更大,则有化简后得到按照上式排序后,01背包即可。注意答案可能为负,dp数组除dp[0]外应赋为无穷小 #includ...
2020-04-27
0
675
“Shopee杯” e起来编程暨武汉大学2020年大学生程序设计大赛决赛
只过了ADFGJ其他待补 A 贪心考虑一下,如果数字一样,这人还是会排在前面的所有人里的最后一名,那么m肯定先给自己加一个,然后因为≥他的人不管加不加都在他前面,所以给数字≥他的都加上,如果m还有剩余,考虑从最小的加,尽量减少他后面的人谁提高到和他一样(因为他字典序最大)所以排序一下,对他前面的人...
2020-04-26
1
872
【每日一题】Removeal
来自专栏
这是一个计数类的dpdp[i][j]表示前i个数字中,删除j个元素的方案数很容易得到转移方程意思就是前i个删除j个,要么从前i-1个中删除了j-1个,等于第i个也要删,要么从前i-1个删除了j个,等于第i个不删这样还没做完,下面考虑去除重复的个数。(其实这就是个容斥的思想,先尽管算,再把重复的去除就...
2020-04-24
0
943
【每日一题】子序列
来自专栏
dp[i]表示以i结尾的子序列的方案数 #include<bits/stdc++.h> using namespace std; typedef long long ll; const ll mod=1e9+7; ll dp[105],a[105]; int main(){ in...
2020-04-23
1
614
周周练3
A正常的bfs搜一下即可 #include <bits/stdc++.h> using namespace std; typedef long long ll; char mp[105][105][105]; bool vis[105][105][105]; struct node{ ...
2020-04-23
0
552
【每日一题】K-th Number
来自专栏
做法:二分答案+双指针判定二分答案比较明显,那么怎么去调整边界呢。考虑二分出一个答案mid对数组A进行双指针枚举,左指针固定不动,右指针向右移动如果当前左右指针之间的区间≥mid的个数≥k个,那么意味着左指针取l,右指针取[r,n]中任意一点所构成的区间的第k大都≥mid因为在[l,r]这一段≥mi...
2020-04-21
1
767
小白赛24
A 最短路 待补 B组队 排序后,二分大于当前这个数的第一个位置,更新最大值即可 #include<bits/stdc++.h> using namespace std; typedef long long ...
2020-04-20
0
502
首页
上一页
3
4
5
6
7
8
9
10
11
12
下一页
末页