随笔分类 -  cf

摘要:A题直接拆成 1 1 n-2 <=4时bob,否则alice B题直接模拟一下就行 C题开始想复杂了,我们直接枚举是哪个字符转成哪个字符即可,如果是变大,一定是放在最左,如果是变小,一定是放在最右,爆算即可。 D题,显然N^2dp,但是还是想错一些细节,假设按右端点排序后,当前考虑第i个区间,假设我 阅读全文
posted @ 2023-10-19 00:01 gan_coder 阅读(9) 评论(0) 推荐(0)
摘要:C题就是考虑利用1,n两个端点就好,有些细节要特判。 #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #include<queue> #define A puts("Yes") #define B puts 阅读全文
posted @ 2023-10-07 09:16 gan_coder 阅读(9) 评论(0) 推荐(0)
摘要:C题结论就是每行每列不同的个数必须是偶数。 D题首先注意到对于长度相同的询问,答案都是一样的。 同时相同的s可以直接丢掉。 那么我们将s排序之后,将相邻的差再进行排序,然后将询问从小到大处理。 相当于是将这些段拼接在一起。 #include<cstdio> #include<algorithm> # 阅读全文
posted @ 2023-10-06 16:43 gan_coder 阅读(13) 评论(0) 推荐(0)
摘要:cf1110D. Jongmah 如果能够发现一点转化的话就简单很多 比如说最后的答案里出现了 三个(a,a+1,a+2),我们可以将它看作是(a,a,a),(a+1,a+1,a+1),(a+2,a+2,a+2) 也就是每种三元组(除了(a,a,a))最多只会出现两次 那么每种数最多有6个是个其它数 阅读全文
posted @ 2023-10-06 11:37 gan_coder 阅读(15) 评论(0) 推荐(0)
摘要:赛后四题 B题直接枚举不存在的元素即可 C题的trick有点像之前abc的某道题,对于奇数位置它一定可以贡献,对于偶数位置,如果它有数选了,那么它就能够贡献。 \(f[i]\)表示到前i个且至少选了一个的最大答案。 #include<cstdio> #include<algorithm> #incl 阅读全文
posted @ 2023-09-26 18:30 gan_coder 阅读(35) 评论(0) 推荐(0)
摘要:依然是四题,但是感觉太久没打,好像变得迟钝了。 B题大概就是令 \[c={10}^k, a=c*3^k, b=c*2^k \]C的话直接暴力维护每种颜色的第一个位置就行,反正只有50个 D的话刚开始没什么想法,构造题什么的真的不会啊 打表之后发现,对于k,在cost为0的情况下,最多能造出长度为\( 阅读全文
posted @ 2023-09-18 20:18 gan_coder 阅读(12) 评论(0) 推荐(0)
摘要:稳定发挥4题 A题文件输出没去掉WA了一发 B题特殊情况没判到,WA了好几发,中间还交到D题去了 C题简单判断一下无解,然后组合数求一下就行 D题其实也挺简单的,考虑严格夹在两条竖线之间的点(不包括边界),如果它们不是在同一水平线上,则必然大于Manhattan距离,而且两个点对之间要么是x方向走多 阅读全文
posted @ 2023-09-02 15:49 gan_coder 阅读(9) 评论(0) 推荐(0)
摘要:今天的D题有点惊险了,属于是,还剩9分钟搞出来。 B题开始猜到了结论,只要在最大值和最小值之间都是可以的,证明的话,可以先考虑从数量大的开始填,然后反证法一下(口胡) C题选择attack肯定是尽量跟,dragon的defence越接近越好 如果有相等就直接选,否则就选前面的或者后面的 本来写的是b 阅读全文
posted @ 2023-09-01 16:06 gan_coder 阅读(10) 评论(0) 推荐(0)
摘要:昨天只有3题,D题太难写了呜呜呜 A题上来写错WA了一发 B题开始写的二分,但是一直WA,前几天写二分写傻了,后面发现直接模拟不就完了吗? C题直接秒了,从低位往高位放,看看能不能够到下一个位置。 ```cpp #include #include #include #include #include 阅读全文
posted @ 2023-08-31 10:10 gan_coder 阅读(10) 评论(0) 推荐(0)
摘要:今天终于是4题了 这场似乎是手速场 A直接枚举一下就行,懒得想了 B暴力放 C怎么又是二分 D刚开始没什么思路,想着写个暴力,发现还挺快的 但是遇到相差很大就会寄 但是中间都是大的减小的 a-bk=x 只要检查这些是否成立即可 复杂度跟求gcd一样 ```cpp #include #include 阅读全文
posted @ 2023-08-29 17:15 gan_coder 阅读(23) 评论(0) 推荐(0)
摘要:好烦,又是只有三题,讲课的老师实在是太吵了,没法思考细节 A题开始还搞麻烦了 B题纯诈骗,找最小的做y即可 C题直接二分判断即可 D题其实没看多久我就秒了, 对于当前的数x来说无非就是 mex=x-1 mex=x mex=x+1 $f[x]$表示mex=x,后面没有数 $g[x]$表示mex=x,后 阅读全文
posted @ 2023-08-28 21:42 gan_coder 阅读(12) 评论(0) 推荐(0)
摘要:今天只有3题,有点遗憾,D题几乎一眼切,但是时间不够,分类讨论没写完,vp结束几分钟后写出来。 A题开始还以为要并查集,后面发现只有一个N不行 B题漏写括号WA一发 C题感觉不好写啊,因为直接计算可能会爆,所以要先从后往前,确定边界,然后就是跟普通的填数差不多,二分一下。 又是找串,还得特别小心会不 阅读全文
posted @ 2023-08-27 22:48 gan_coder 阅读(15) 评论(0) 推荐(0)
摘要:[传送门](https://codeforces.com/contest/1622) 今天依然是4题 B题就是猜结论,其实证明应该也不难,分类讨论一下就行 C题肯定是让最小的减,然后从大到小用set操作 那么我们枚举set了多少个数,算一下至少要减多少, 需要注意的是,如果要减到的数x大于a1,那么 阅读全文
posted @ 2023-08-25 10:11 gan_coder 阅读(14) 评论(0) 推荐(0)
摘要:B题没想到被坑了两次,极端情况明明也很好想,硬是WA了两发。 C题很想之前做过的经典蚂蚁题,但是又不太一样, 但分析之后,发现之后奇偶性相同才可能碰撞,那么分开处理, 假如已经有相向而行,肯定是最快碰撞的,用一个栈维护即可,最后就是剩下的肯定是 L L L ... R R R将它们配对即可。 ``` 阅读全文
posted @ 2023-08-24 10:07 gan_coder 阅读(15) 评论(0) 推荐(0)
摘要:[D. Madoka and The Corruption Scheme](https://codeforces.com/contest/1717/problem/D) 一道有点意思的题目。 首先对于Madoka给出的任意一颗二叉树,我们可以将其进行调整。使得对于一个节点左边的总是获胜。也就是对于对 阅读全文
posted @ 2023-05-25 13:18 gan_coder 阅读(29) 评论(0) 推荐(0)
摘要:一个区间的权值为最大的三个数的和-区间长度,求最大的权值。 首先我们注意到,两个端点肯定是max,考虑反证法,假设当前选的是l,r区间,若两端不是max,则可以通过增大l,减小r来增加答案。(然而好像并没有什么用?) 我们可以设$f[i][1/2/3]$,表示到了第i个点,我们当前选了几个的最大贡献 阅读全文
posted @ 2023-05-06 11:28 gan_coder 阅读(24) 评论(0) 推荐(0)
摘要:题意 给定一个数列,确定选数顺序,假设每次取出为x,要使得ans|x 最大,并且令ans|=x,求选数顺序。 题解 我们可以建一个大根堆,设堆顶为z,判断一下z&ans是否等于0,如果是那就是要选的数,否则就将z弹出,将z-=z&ans放入堆中。 code #include<cstdio> #inc 阅读全文
posted @ 2022-10-15 12:01 gan_coder 阅读(51) 评论(0) 推荐(0)