随笔分类 - Codeforces
摘要:题意:我们现在位于(0,0)处,目标是走到(K,0)处。每一次我们都可以从(x,y)走到(x+1,y-1)或者(x+1,y)或者(x+1,y+1)三个位子之一。现在一共有N段线段,每条线段都是平行于X轴的。我们如果此时x是在这段线段之内的话,我们此时走到的点(x,y)需要满足0<=y<=Ci.现在保
阅读全文
摘要:题意:给你n个数,问有多少种排列方式使得任意两个相邻的数的乘积都不是完全平方数 我好弱,被组合和数论吊着打。。。 首先我们可以把每个数中固有的完全平方数给分离出来,那么答案其实就只与处理后的序列相关。 考虑把相同的数分为一类,设dp[i][k]表示前i组数分为k类的方案数,于是用隔板法搞搞就有: $
阅读全文
摘要:题意:给定一个正整数序列,两人轮流对这个数列进行如下修改:选取一个素数p和一个整数k将序列中能整除p^k的数除以p^k,问谁有必胜策略。 借此复习一下sg函数吧,sg(x) = mex ( sg(y) |y是x的后继结点 )。我们不难发现不同的质因子是互不影响的,因此我们可以把不同的质因子归为不同的
阅读全文
摘要:题意:给定一个2*N的方格,从左上角开始走,有些格子不能走,问能否一次遍历所有能走的方格 在Gym上看到一场香港的比赛,很好奇就去看了一下,发现第一题很有趣,并且很水,似乎讨论一下奇偶性就行了,然后。。。我Wa了五次。。。 主要是以下三种情况比较坑:
阅读全文
摘要:题意:对一个维护三种操作:1.将[l..r]中的数全部加入集合中。2.将集合中[l..r]范围内的数删去。3.将集合中在[l..r]中的数删去,并将之前不在集合中的数加入集合 考虑到最近线段树总是写爆,我决定在CF上切几道水题练练手,于是找到了这题。。。一开始想了想感觉不太会做,后来发现好像可以离散
阅读全文
摘要:题意:构造一个长度为n的序列,使其满足m个形式如下如下约束:a[l]&a[l+1]&a[l+2]&....&a[r]=q 从Dalao的博客上看到这题,决定去水水。做法比较显然,就是做一些区间or之后判断一下之前的条件是否满足。用线段树维护即可。 不出意外,我的线段树又调爆了,因为我把<<打成了>>
阅读全文
摘要:题意:给定一个网格图,三种操作:1.在(r1,c1,r2,c2)处建围墙。2.删除(r1,c1,r2,c2)处的围墙。3.询问两点是否可达 思路比较巧妙,将围墙内的点赋加一个权值,询问的时候判断两个点的权是否相等即可。显然可以用二维树状数组实现。
阅读全文
摘要:题意:有三种颜色的岛屿各a,b,c座,你可以在上面建桥。联通的点必须满足以下条件:1.颜色不同。2.颜色相同且联通的两个点之间的最短路径为3 其实之用考虑两种颜色的即可,状态转移方程也不难推出:F[i][j]=F[i-1][j]+j*F[i-1][j-1]。答案就是F[a][b]*F[a][c]*F
阅读全文
摘要:题意:给定一个字符串,以及m次操作,每次操作对字符串的一个子区间进行升序或降序排序,求m次操作后的串 考虑桶排,发现线段树可以模拟桶排的过程,所以对26个字母分别建立线段树即可
阅读全文
摘要:题意:给定一个n个数的序列,完成以下3个操作: 1.给定区间求和 2.给定区间对x取模 3.单点修改 对一个数取模,这个数至少折半。于是我们记一个最大值max,如果x>max则不做处理。
阅读全文
摘要:额,这次的题目其实挺智障的。所以通过这次比赛,我也发现了自己是一个智障。。。。 不说太多,说多是泪。。。 A. Fair Game 题意:给你一个数组,看你能否把它均分为两个所有元素均相同的子数组。 模拟即可。。。。 #include<bits/stdc++.h> using namespace s
阅读全文