青烟绕指柔
青烟绕指柔
全部文章
题解
2-SAT(1)
bfs(6)
Codeforces(3)
dfs(4)
Hash(1)
HDU(2)
KM(1)
LCA(2)
Link_Cut_Tree(1)
LIS(1)
Splay(1)
STL(7)
WQS二分(1)
中等难度(6)
主席树(4)
二分(1)
分块(1)
前缀和(1)
动态规划(15)
博弈论(1)
双连通分量(1)
图论(158)
堆(3)
字符串(5)
差分(1)
并查集(13)
拓扑排序(4)
数位dp(3)
数学(1)
数论(12)
无旋treap(2)
最小环(2)
最小生成树(11)
最短路(18)
树形dp(1)
树状数组(16)
树结构(4)
树链剖分(1)
概率dp(2)
相对大小问题(1)
矩阵乘法(3)
离线算法(12)
线性基(2)
线段树(28)
背包问题(2)
莫队(1)
计算几何(8)
贪心(2)
距离表示(1)
归档
标签
去牛客网
登录
/
注册
青烟绕指柔的博客
我不怕千万人阻挡,只怕自己投降!
全部文章
/ 题解
(共4篇)
简单瞎搞题
显然可以dp。 dp[i][j] 为前i个数字能否构成j。 怎么状态转移呢?每次第i个数有一个对应区间,我们直接尝试加入区间的每一个数字,和前i-1个数能构成的数字去匹配。 我们就可以发现这样复杂度是:1e6 * 100 * 100为1e10,不过我们只需要知道能否构成,所以可以状态压缩,然后用bi...
2020-05-19
0
984
换个角度思考
显然是可以离线之后fenwick维护。 因为不喜欢离线,所以直接主席树了。 每次找到对应区间,然后相当于就是区间sum的问题了。 AC代码: #include<bits/stdc++.h> using namespace std; const int N=1e5+10,M=N*40; i...
2020-04-29
4
1263
Shortest Path
其实我们画画图就可以发现,如果把边全部选完,那么一定是有解的。 所以,我们就是删除权值和最多的边,使得原问题还有解。什么是无解呢?就是某个边删除之后,连通块个数为奇数了,那么就不行。 所以直接dfs一次即可,如果当前子树点的个数为偶数个,直接删除即可。 AC代码: #include<bits...
2020-04-03
2
896
小D的剑阵
题目链接:小D的剑阵 对每一个东西就是选不选的问题。 也就是非黑即白的问题,于是我们可以想到最小割。 AC代码: #include<bits/stdc++.h> using namespace std; const int inf=0x3f3f3f3f; const int N=...
2019-12-23
0
438