2019年2月

一开始我还用拓扑删链然后瞎搞,后来发现环可能是有交叉的,这就意味着不可能直接通过搜索一个个的环来得到答案。所以我最开始的做法只有10分。然后看了题解,发现数据有点水,直接 $O(n^{2})$ 搜索搞就完事。struct Edge{ int next,to,w; } edge[105]; int head[55],cnt,n,m,t,a,b,c; bool vis[55],ans; ...
算法竞赛 算法-搜索
日推水题系列。对于每一个子树,每个叶节点对答案的贡献就是 根到所有叶节点距离的最大值 $dismax$ 减去 根到这个叶节点的距离 $dis[x]$。直接dfs即可。注意要开long long,我又被坑了一次。struct Edge{ ll next,to,w; } edge[1000005]; ll head[500005],cnt,n,m,s,a,b,c,dis[500005],...
算法竞赛 算法-搜索
又是一道我看了题解才知道怎么做的题,我还是太弱了。题意每个骑士都有一个自己痛恨的骑士(不会恨自己),这俩不能在一起,每个骑士有个能力值,问怎么组合使总的能力值最大。其中骑士的人数 $N\le 10^{6}$ 。题解分(看)析(题)题(解)目可以发现,如果将每个关系之间连一个双向边,每个连通块都有且仅有一个环,所以整个图就是一个基环森林,然后拆一条边分成两棵树各跑一遍树形dp即可。拆开看以后也...
算法竞赛 动态规划-树形DP
大半年打一次cf结果因为评测机出锅unrated了,非常不爽。这次比赛是和@Duanyll大佬合作打的,但因为我很弱出了很多锅坑了他,不过幸好是unrated。好歹还是A了四道题的,还是总结一下吧。A. Lunar New Year and Cross Counting题意给你一个矩阵,只要满足 $M(i,j)=M(i-1,j-1)=M(i-1,j+1)=M(i+1,j-1)=M(i+1,j...
算法竞赛 比赛-Codeforces
标签
其它-Firefox1 其它-pbds1 其它-pjax1 其它-Ubuntu1 其它-VSCode1 其它-网易云音乐1 动态规划52 动态规划-区间DP9 动态规划-单调队列优化DP5 动态规划-图上DP1 动态规划-斜率优化DP5 动态规划-树形DP16 动态规划-状压DP16 动态规划-线性DP10 动态规划-背包DP3 图论4 图论-LCA4 图论-Tarjan11 图论-二分图1 图论-割点3 图论-基环树1 图论-差分约束4 图论-强连通分量2 图论-最小环1 图论-最小生成树6 图论-最短/最长路19 图论-树上差分2 图论-树的直径4 图论-桥1 图论-缩点5 图论-负环4 字符串3 字符串-kmp2 思维题3 数学26 数学-bsgs2 数学-exgcd4 数学-gcd2 数学-中国剩余定理2 数学-卡特兰数1 数学-卢卡斯定理4 数学-快速幂4 数学-扩展中国剩余定理1 数学-扩展卢卡斯定理3 数学-矩阵5 数学-约数1 数学-组合数3 数学-质数1 数据结构-动态开点线段树1 数据结构-单调栈1 数据结构-单调队列2 数据结构-可持久化字典树2 数据结构-堆4 数据结构-字典树2 数据结构-并查集2 数据结构-栈1 数据结构-树状数组6 数据结构-树链剖分10 数据结构-线段树5 数据结构-队列1 比赛-Codeforces21 比赛-JX Round1 比赛-NOIp/CSP5 算法-KM算法1 算法-二分/三分12 算法-位运算1 算法-倍增4 算法-分块2 算法-分治3 算法-哈希2 算法-多叉树转二叉树2 算法-差分4 算法-悬线法1 算法-拓扑排序2 算法-排序3 算法-搜索21 算法-模拟5 算法-状态压缩4 算法-贪心10 算法-高精度3 问题-逆序对2 题目-一本通5 题目-网络流24题2