随笔分类 -  比赛

摘要:A:签到。 B:显然可能的划分位置只有一个,找到后检验即可。 C:二进制分组。 D:不考虑范围限制的话显然能到达所有gcd(a,b)的倍数。注意到对于不小于a+b的gcd(a,b)的倍数,该点一定可以为到达该点时所经过的最大值。因为可以考虑每次若能往左走就往左走,否则往右走,显然这样往右走的时候所达 阅读全文
posted @ 2019-04-22 00:01 Gloid 阅读(368) 评论(0) 推荐(0)
摘要:C:即要使前一部分为白色后一部分为黑色,枚举分割点前缀和计算答案取min即可。 D:即要求最大的一组和小于总和一半的方案数。容易想到设f[i][j]为前i个数最大一组(不是当前最大的一组,而是我们期望所有数分配完之后其成为最大的一组)和为j时的方案数。为保证第二维中的是最大的一组,做一个补集转化。d 阅读全文
posted @ 2019-04-20 22:49 Gloid 阅读(246) 评论(0) 推荐(0)
摘要:A:随便怎么暴力。 B:显然选择单字符子串能形成n种不同的串。容易发现其他方案一定是由进位产生的,考虑固定某个9为子串右端点会产生多少种方案。数一下由其往前有多少个连续的9,这一段的每个后缀都会产生一种方案。然后再往前看一个数,若不为0答案再+1;若为0,由于所选串不能有前置0,需要找一下之前有没有 阅读全文
posted @ 2019-04-18 21:18 Gloid 阅读(318) 评论(0) 推荐(0)
摘要:C:显然每p2个数会有一个0循环,其中22 32 52 72的循环会在200个数中出现,找到p2循环的位置就可以知道首位在模p2意义下是多少,并且循环位置几乎是唯一的(对72不满足但可能的位置也很少)。于是这样枚举范围就直接从1e9变成了1e9/44100。然后考虑暴力求μ验证,求μ可以以O(n1/ 阅读全文
posted @ 2019-04-16 21:49 Gloid 阅读(581) 评论(0) 推荐(0)
摘要:A:签到。没仔细看数据范围,看到一个O(nt)的差点叉上去了。 B:从大到小考虑每个数,放在所有能放但还没有放的位置上即可。 C:在右括号够的情况下尽量放左括号。 D:这种东西容易想到二分答案,转化成01问题后,设f[i]为要让i号点为1其子树内至少有几个叶子为1,转移显然。dp完之后可以发现压根不 阅读全文
posted @ 2019-04-14 12:37 Gloid 阅读(407) 评论(0) 推荐(0)
摘要:A:答案一定包含首位或末位。 B:二分答案,大的匹配大的即可。 C:显然将两矩阵xor一下后相当于将矩阵变为全0矩阵,大胆猜想要求每行每列都有偶数个1即可。 D:显然询问的答案只与长度有关,离线按长度从小到大排序,相当于一个不断合并间隙的过程,将间隙长度排序记录已经有多少个被填满即可。 E:显然三角 阅读全文
posted @ 2019-04-12 18:37 Gloid 阅读(297) 评论(0) 推荐(0)
摘要:A:化成x-√n=y+z-√4yz的形式,则显然n是完全平方数时有无数组解,否则要求n=4yz,暴力枚举n的因数即可。注意判断根号下是否不小于0。 B:f[i][j][k]表示第i步后左边有j个已访问城市右边有k个已访问城市的概率,转移显然。虽然是在一个环上,但不看成环也没有问题,最后对n取min即 阅读全文
posted @ 2019-04-01 11:26 Gloid 阅读(551) 评论(4) 推荐(1)
摘要:A:阅读理解。显然l的可能取值至多只有4n种,暴力枚举即可,对于确定的l答案显然为nk/gcd(nk,l)。 B:对每个位置求出该位置上的数在排列中的下一个数在该位置后第一次出现的位置。以此倍增可以求出以每个位置为开头的合法子序列的最左右端点。查区间min即可。 C:y=x2+bx+c→y-x2=b 阅读全文
posted @ 2019-03-31 13:31 Gloid 阅读(148) 评论(0) 推荐(0)
摘要:AB:div 3 AB??? C:div 1 C???场内自闭的直接去看D。事实上是个傻逼题,注意到物品相对顺序不变,二分边界即可。 D:显然对小模数取模后,大模数不会再产生影响。于是将模数从大到小排序,设f[i][j]为考虑了前i大模数后当前值是j的概率,转移考虑第i个模数是否在前缀单调栈中,若在 阅读全文
posted @ 2019-03-30 23:39 Gloid 阅读(373) 评论(0) 推荐(0)
摘要:A:倒序考虑,每次删除最后一个合法数即可,正确性显然。好久没有atcoder比赛我又忘了评测机并没有define online_judge白交了一发。 B:容易发现当n%4==0时,可以将图划分成一个二分图,使其两边和相等,然后中间所有边都连上即可。类似的可以发现,只要将图划分成若干和相同的集合即可 阅读全文
posted @ 2019-03-27 01:39 Gloid 阅读(398) 评论(0) 推荐(0)
摘要:A:考虑每对最大值最小值的贡献即可。 B:考虑每次都询问x=i y=i+1。这样得到的是最近的被标记点是在左边还是右边。这样二分一下可以确定一个标记点的位置。同样二分找第二个点,由于要使其不和第一个点重复,对第一个点的两边分别考虑,二分过程中需要保证第一个点不对询问造成影响,讨论一下一些边界即可。 阅读全文
posted @ 2019-03-22 22:48 Gloid 阅读(203) 评论(0) 推荐(0)
摘要:A:暴力枚举第一列加多少次,显然这样能确定一种方案。 B:显然每个数的贡献与组合数有关,找找规律发现讨论一下n%4的几种情况就行了。 C:显然依赖关系形成一棵树。设f[i][j]为i子树选j个的最小代价,其中根必须使用优惠券;g[i][j]为i子树选j个的最小代价,不能使用优惠券。直接背包即可,众所 阅读全文
posted @ 2019-03-15 19:56 Gloid 阅读(172) 评论(0) 推荐(0)
摘要:A:暴力赋值即可,并查集维护下一个未被赋值的位置。 B:显然应该连成菊花套链。 C:注意到字符集大小很小询问串长度很短,对每种字符每种长度分别维护bit即可。 D:先跑一棵MST。对于不在MST中的边,显然要使其满足条件,其权值应比MST中两点路径上的权值最大值小。倍增查一下即可。对于在MST上的边 阅读全文
posted @ 2019-03-15 01:32 Gloid 阅读(166) 评论(0) 推荐(0)
摘要:A:二分答案,从左往右考虑每个人,选尽量靠左的钥匙即可。 B:暴力,每次找到下一张被扔出去的牌并累加距离(即翻几张牌后会翻到)即可,距离用树状数组维护。 C:不考虑d是某数因子的特殊情况的话,相当于要求nd-Σai mod d<=k,最大化d。而ai mod d=ai-⌊ai/d⌋*d,众所周知⌊a 阅读全文
posted @ 2019-03-13 22:48 Gloid 阅读(126) 评论(0) 推荐(0)
摘要:A:显然最优方案是对所形成的置换的每个循环排个序。 B:随机问1000个位置,然后找到x在其中哪个区间内暴力询问即可。注意最好不要rand。 C:容易发现重心的各棵子树的点集是不能改变的。然后一堆人比如我就扔个点分上去肯定就假了。事实上可以通过这种操作将任意一棵子树展开成链,链可以再转化成菊花,分别 阅读全文
posted @ 2019-03-13 22:30 Gloid 阅读(172) 评论(0) 推荐(0)
摘要:D:从后往前考虑每个人,显然如果能移到最后一个人后方就应该立即移动,否则移不移没什么影响。链表暴力模拟这个过程即可。容易发现复杂度是线性的(判断两人间是否有边可能需要带log)。当然事实上根本不需要链表,直接检查其对后方未删除点的出度之和即可。 E:分块,每块维护第一个数和块的总和。注意到每次修改影 阅读全文
posted @ 2019-03-12 10:16 Gloid 阅读(241) 评论(0) 推荐(0)
摘要:A:考虑每个质因子,显然要求次数之和是3的倍数,且次数之差的两倍不小于较小的次数。对于第一个要求,乘起来看开三次方是否是整数即可。第二个取gcd,两个数分别除掉gcd,之后看两个数的剩余部分是否都能被gcd整除即可。 B:显然有f[i][j]表示前i位分成j段的最大价值。考虑套路,在每个数最后一次出 阅读全文
posted @ 2019-03-11 23:59 Gloid 阅读(213) 评论(0) 推荐(0)
摘要:A:甚至连题面都不用仔细看,看一下样例就知道是要把大的和小的配对了。 B:vp时拿命想都不会,结果一看sol发现idea还很大一部分是我自己造过的题,简直自闭。显然度数之和应该是偶数,先给不要求度数的随便分配一下满足要求。然后找一棵生成树,自底向上只选树边以满足度数要求即可。 C:我省去年初中组直接 阅读全文
posted @ 2019-03-10 01:59 Gloid 阅读(157) 评论(0) 推荐(0)
摘要:A:显然每种字符的代价互不相关,dp并打表可得合并i个字符的最小代价是i*(i-1)/2。然后直接贪心分配每个字符即可。因为每次分配都将剩余代价降到了根号级别所以字符数量是足够的。 B:先找出每个会撞在一起的集合,然后可以发现相当于是在网格图中向某方向走遇到一个格点就拐个弯,讨论一下即可。 C:显然 阅读全文
posted @ 2019-03-09 22:52 Gloid 阅读(145) 评论(0) 推荐(0)
摘要:A:求出该行该列各有多少个比其小的取max,该行该列各有多少个比其大的取max,加起来即可。 B:kmp求出最长border,贪心的每次利用这个border制造新子串即可。 C:场上写了1h假题意。终于看懂题之后又被之前假题意的做法带偏了。考虑拆点,建出新图后缩点,跑最长链即为答案。因为由图的特殊性 阅读全文
posted @ 2019-03-09 00:42 Gloid 阅读(200) 评论(0) 推荐(0)