icpc
文章平均质量分 65
goto_1600
我何来寂寞,哪有寂寞可言。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
很妙的思维模型整理
2021.11.15https://ac.nowcoder.com/acm/contest/17797/K两种操作 op1 加一层val的线段l到r op2询问包含在区间[l,r]的所有线段的最大差值要求强制在线,m=1e5 n=3000很秒的操作就是转为二维平面前缀max和min,把l,r分别作为x和y轴,我们每次查询希望是个前缀,也就是包含在[l,r]平面内的点都能有贡献,但是有个不好的地方就是l是递减的,刚好跟坐标轴是反着来,我们可以对称一下用N-l来add点,然后正常查询用二维bit就行了,原创 2021-11-16 16:43:21 · 191 阅读 · 0 评论 -
ccpc网络赛 Jumping Monkey 逆向并查集,重构树技巧
题意:树上所有点有点权,询问每个点,问对于每个i来说有多少v来说,在i到v的路径上v为最大点权 n<=1e5n<=1e5n<=1e5思路:考虑逆向,把树上的点按照点权从小到大排序,那么我们可以发现,当前遍历的这个点对和当前他联通的所有点有贡献,那么我当时有疑问的是怎么把这个贡献加上去,这样挨个遍历会T,有个很牛逼的重构树的思想,该新节点向当前这个集合的最大值的id连边,然后重新在新图上跑一遍,然后统计所有点的深度就行了。ac代码:#include<bits/stdc++.h原创 2021-10-13 13:48:29 · 291 阅读 · 0 评论 -
2019icpc 南昌站 --And and pair
iven an extremely large non-negative integer nn, you are asked to count the number of pairs (i,j)(i,j) of integers satisfying the following conditions:0\leq j\leq i\leq n0≤j≤i≤n;ii & n=in=i; andii & j=0j=0.Here & represents the bitwise AND原创 2020-09-14 11:16:39 · 329 阅读 · 0 评论 -
数位dp变相 [HDU-5456]
题意:给你n个火柴 让你凑成a-b=c的形式,不包括前导0,问总共有多少个方案数(mod上m)。思路:真的想不出来,太妙了,先把a-b=c变形成a=b+c,然后从低位往高位枚举每位填的数,dp状态定义成f[i][f1][f2][flow] (只剩下i根火柴,b是否填完,c是否填完,是否有进位的方案数),终止条件就是b和c都填完了,看看是否有进位。很妙,每次火柴数量减去要填的数量,a的数字可以算出来,是(flow+i+j)%10。代码:#include<iostream>#include.原创 2020-09-11 11:29:08 · 278 阅读 · 0 评论
分享