- 博客(18)
- 收藏
- 关注
转载 USACO Jan P
T1:令f[i]表示前i个位置的最优答案,f[i]=min(f[j]+(区间[j+1,i]的贡献)),单调队列优化即可。T2,T3:见https://blog.csdn.net/qq_39972971
2019-02-09 17:37:37
138
原创 Codeforces Global Round 1
E:考虑相邻3个元素a,b,c他们的差分是b-a,c-b,对b进行一次操作后原数组变为a,a+c-b,c,差分变为c-b,b-a。不难发现一次操作相当于差分数组中交换相邻元素,特判收尾,检查查分数组是否相同即可。...
2019-02-09 16:51:31
124
原创 NOIP模拟赛(3)
A:给定一张边权为1的有向图,点i另外拥有一个编码vi,若vi&vj=vj,则i到j额外存在一条有向边,求1到各点的最短路。不难想到枚举子集建图,但是庞大的边数难以存下。考虑一个优化,令dis[i][0/1]表示1到i最后一条边是通过原路径/附加路径转移过来的,这样的话枚举子集时只用枚举二进制上相差一个元素的。转移时若(u,v)为附加路径,且通过dis[u][1]转移,则边权为0。不难证明...
2018-10-31 13:32:05
128
原创 牛客网提高组周赛4
A:枚举生成树前缀和。B:容斥,答案等于所有方案+k对相邻的方案*(-1)k。C:不难想到对区间染色,但是这样似乎很难快速在线判断。考虑二分答案,线段树或并查集染色。...
2018-10-29 16:00:54
141
1
原创 Atcoder Tenka1 Programmer Contest
C:考虑包绝对值拆开,发现每一对差都会产生一减一加。一共n-1次减,n-1次加,每个数最多被使用两次且有两个数只被使用一次。排序,若序列长度为偶数,最大的n/2-1个数加两次,最小的n/2-1个数减两次。再减去第n/2个,加上n/2+1个。若n为奇数,把中间三个元素拿出来单独讨论,其余同上。D:对于n构造一些集合,使任意两个集合只有一个元素相同,并且1-n任意一个数字在所有集合中只出现两次。考虑...
2018-10-29 15:57:48
159
原创 noip模拟(1)&&(2)
1B:给定一个括号序列,求最长合法括号序列的长度及数量。用栈做一个括号匹配,扫一遍即可。1C:每次交环两个相邻不同颜色的方格,求最大的包含这两个格子任意一个的最大矩形,先只考虑同行的情况,显然可以发现矩形行距离是随列距离递减而递增的,枚举即可。列相同的情况一样。...
2018-10-29 15:43:08
145
原创 洛谷月赛总结
A:考场居然没想到,我真是菜爆了。设a二进制中的的个数为x,b为y,重叠的1的数量为k,则count(a^b)=x+y-2*k。不难分析出x与y奇偶性不同即可。B:令fij表示必选i,公差为j的方案,暴力dp。(记得取模)C:80分的做法就是3k建图,100分的做法就是优化建图,每次向子集里添一个元素,当前点代表的权值是输入的再做扩展。...
2018-10-21 22:56:28
560
原创 noip信心赛总结
day1:题很水就不说了day2:C题:给定一棵树,叶子节点可黑可白,如果一个非叶子节点的所有儿子颜色相同,则这个节点与它的儿子颜色相同,否则为灰色。每次改变一个叶子节点的颜色,求树中每种颜色的个数。显然非叶子节点不为灰的条件是子树颜色相同,那么就不难发现从叶子到根具有单调性,二分灰色分割点即可。...
2018-10-21 22:16:46
107
原创 atcoder grand028
A:答案一定是gcd(n,m)的倍数,不妨设为kgcd,考虑对于s的第i个位置,它会与t的某一位重复当且仅当(i-1)(l/n)%(l/m)为0,判断即可,根据式子,我们不难发现k对判定不起左右,于是设为1,使答案最小。C:只要存在一个点的两种点权都被用到了,那么这个方案一定可行,排序贪心即可...
2018-10-16 14:33:08
101
原创 10.12noip模拟赛
T1:有n组信息,每组包含一个身高以及一个记录值b,表示此人前或后有b个人高于他,保证身高互不相同。考虑排序后贪心,因为前面的对后面的没有任何影响,所以正确性易证。每次考虑前后的空位置,两次二分,结果取min,由于二分无法保证答案可用,要维护第i个位置开始第一个空位置,用并查集实现。时间复杂度O(nlog2n),用线段树分治可用达到nlogn。(为什么noip模拟赛t1都这么神)T2:求出l-r...
2018-10-12 18:15:47
127
原创 COGS 2988&2987
2987:考虑暴力dp,设f[s][ss]为点集为s,拓扑序中最后一层为ss的答案,暴力向里面添加一个s在全集中的补集的子集作为下一层转移,时间复杂度O(4n*m)只能通过60%的数据,考虑优化,f[i]表示集合i的答案,不难想到f[i^j]+=f[i]*2e;但是这样会产生一个问题,由于子图可以不连通,所以计数会有重复。我们将i按照size(i)划分,考虑任意两个size为k的集合s1,s2...
2018-10-11 21:06:04
212
原创 逃亡题解
https://www.luogu.org/problemnew/show/T44349做法一:暴力状压所有精华和部落,做最短路,时间复杂度O(nm2^2d)无法通过所有数据;优化:仔细思考发现刚才的状态非常冗余,我们可以提取起点,终点,精华所在地和部落所在地组成新图,用原图最短路的值作为新图的边权,在新图上状压然后做最短路,时间复杂度O((2d+2)nm+(2d+2)log(2*d+2)*...
2018-10-06 22:49:59
218
原创 牛客网国庆集训排队day2&&练习赛28总结
A矩阵乘法现场脑补了复杂度至少除2的做法然而并不能通过,改变循环顺序优化内存访问的时间就能ac,正解是对a进行分块,因为b是二进制矩阵,预处理结果代替乘法E数据排序直接状压dp,考试的时候一直在卡A,根本没看E迎风舞根据式子列出二次方程然后暴力三分解或者求导...
2018-10-05 23:02:05
91
原创 Manthan, Codefest 18
虽然上分了,但只是快速A掉了4到千人AC的水题,还是卡在了E。当时一直想着先相处一个多项式算法,发现根本想不出来,最后只得放弃。其实应该离线,先把所有边存进去,然后枚举每个点,去考虑能不能删除这个点,如果删除了,继续去考虑跟他相邻的节点。之后倒序把所有边删除,更新答案。这道题的关键在于想到可以用删除节点代替向答案集合里添加节点,之后就可以离线了。...
2018-09-03 15:43:58
127
原创 Codeforces AIM Tech Round 5 总结
A:略 B:构造,考虑m最小为1,所以构造的两个数之和的数字和为1。下面给出一种构造方法,a=99…99(500个9)00…0(499个0)1, b=99…9(500个9) C:给定n个矩形,找出一个点,使其至少被n-1个矩形覆盖。考虑按y从大到小线段树维护扫描线。但在考场我忽略了n个矩形会产生2*n个不同的横坐标,也就是说线段树维护的值域最坏在2*n,以至于fst。 D:给定n个操作,ad...
2018-08-28 15:01:38
89
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人