摘要:
@[toc] 2019中国大学生程序设计竞赛(CCPC) 网络选拔赛 "CSDN" 6702 & $1 and 1$的话,$c$就必须为$1$。其他的贪心选$0$. 注意c为正整数,0的话就取最低位1. 6703 array 修改操作其实是删除操作。 考虑不删除的话,就是把删除的数字放入$set$中 阅读全文
摘要:
loj2090. 「ZJOI2016」旅行者 链接 "loj" 思路 $(l,mid)(mid+1,r)$.考虑跨过mid的贡献。 假设选的中间那条线的点为gzy,贡献为$dis(x,gzy)+dis(gzy,y)$ 那就计算n遍最短路,一次分治为$n^2mlog{nm}$ 设S=n m.矩阵的长度 阅读全文
摘要:
P4551最长异或路径 链接 "luogu" 思路 从$1$开始$dfs$求出$xor$路径。然后根据性质$x$到$y$的$xor$路径就是$xo[x]^xo[y]$ 代码 cpp include using namespace std; const int _=1e5+7; int xo[_],w 阅读全文
摘要:
CF888G XOR MST 链接 "CF888G" 思路 trie上贪心,先左右两边连边,再用一条边的代价连起左右两颗树。因为内部的边一定比跨两棵树的边权笑,显然是对的。 代码自己瞎yy的。启发式合并 代码 cpp include define ll long long using namespa 阅读全文
摘要:
cf1207解题报告 A 模拟 cpp include define ll long long using namespace std; ll T,a,b,c,x,y; int main() { cin T; while(T 0) { cin a b c x y; ll ans=0; if(x y) 阅读全文
摘要:
cf1039D 链接 "cf" 思路 一次k可以贪心O(n)算。 对于$≤\sqrt{n}$的k,暴力算。 对于$>\sqrt{n}$的k,最多会有$\sqrt{n}$种答案,而且答案单调。 二分就行了。 复杂度$O(nlogn+n\sqrt{n}logn)$ 递归会被卡,所以要记录dfs序然后循环 阅读全文
摘要:
cd1101d 简单dp 链接 "codeforces" 思路 所有数的质因数存下来,最多6个。 然后$f[i][j][0/1]$表示i子树内链gcd为j的i是否为链头。 暴力转移就行了 代码 cpp include using namespace std; const int _=2e5+7,N= 阅读全文
摘要:
bzoj3589 动态树 链接 "bzoj" 思路 求链并。 发现只有最多5条链子,可以容斥。 链交求法:链顶是两条链顶深度大的那个,链底是两个链底的$lca$ 如果链底深度小于链顶,就说明两条链没有交集。 复杂度$m 2^klog^2n$ 还有一种做法。 把所有链子都打上$0/1tag$,只有$1 阅读全文
摘要:
bzoj2287【POJ Challenge】消失之物 缺一01背包 链接 "bzoj" 思路 分治solve(l,r,arr)表示缺少物品$[l,r]$的dp数组arr。 然后solve(l,mid,arr)用右边的物品更新,solve(mid+1,r,arr)同理。 $f(n)=2 f(\fra 阅读全文
摘要:
bzoj2916: [Poi1997]Monochromatic Triangles 链接 "bzoj" 思路 总方案$C_{n}^{3} 异色三角形$ 异色三角形有个特点。 会出现两个点有两条不同色的边。 然后统计就行了。 代码 cpp include define ll long long us 阅读全文
摘要:
[ZJJOI2013]K大数查询 链接 "luogu" 思路 整体二分。 代码 cpp include define ll long long using namespace std; const ll _=5e5+7; ll read() { ll x=0,f=1;char s=getchar() 阅读全文
摘要:
[NOI2010]超级钢琴 链接 "luogu" 思路 和12省联考的异或粽子一样。 堆维护n个左端点,每次取出来再放回去次 代码 cpp include define ll long long using namespace std; const int _=5e5+7,INF=0x3f3f3f3 阅读全文