08 2023 档案

摘要:[abc302f](https://atcoder.jp/contests/abc302/tasks/abc302_f) 不是很难,但是还是有点绕 很明显是一个图的模型 但是边数很大 我们只关心每种数最早什么时候能够得到 对于每一种数,我们记录哪些集合包含它,每得到一个新的数,就用它来更新 ```c 阅读全文
posted @ 2023-08-31 19:56 gan_coder 阅读(23) 评论(0) 推荐(0)
摘要:昨天只有3题,D题太难写了呜呜呜 A题上来写错WA了一发 B题开始写的二分,但是一直WA,前几天写二分写傻了,后面发现直接模拟不就完了吗? C题直接秒了,从低位往高位放,看看能不能够到下一个位置。 ```cpp #include #include #include #include #include 阅读全文
posted @ 2023-08-31 10:10 gan_coder 阅读(21) 评论(0) 推荐(0)
摘要:今天终于是4题了 这场似乎是手速场 A直接枚举一下就行,懒得想了 B暴力放 C怎么又是二分 D刚开始没什么思路,想着写个暴力,发现还挺快的 但是遇到相差很大就会寄 但是中间都是大的减小的 a-bk=x 只要检查这些是否成立即可 复杂度跟求gcd一样 ```cpp #include #include 阅读全文
posted @ 2023-08-29 17:15 gan_coder 阅读(31) 评论(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 阅读(25) 评论(0) 推荐(0)
摘要:[Warp](https://atcoder.jp/contests/abc265/tasks/abc265_e) 大概就是个dp f[n][x][y]表示走了n步,第一种走了x次,第二种走了y次。 不过写来写去发现都会TLE,N^3怎么会TLE呢? 后面发现原来是map的写法一直有问题, 比如判断 阅读全文
posted @ 2023-08-28 12:16 gan_coder 阅读(19) 评论(0) 推荐(0)
摘要:今天只有3题,有点遗憾,D题几乎一眼切,但是时间不够,分类讨论没写完,vp结束几分钟后写出来。 A题开始还以为要并查集,后面发现只有一个N不行 B题漏写括号WA一发 C题感觉不好写啊,因为直接计算可能会爆,所以要先从后往前,确定边界,然后就是跟普通的填数差不多,二分一下。 又是找串,还得特别小心会不 阅读全文
posted @ 2023-08-27 22:48 gan_coder 阅读(27) 评论(0) 推荐(0)
摘要:[传送门](https://codeforces.com/contest/1622) 今天依然是4题 B题就是猜结论,其实证明应该也不难,分类讨论一下就行 C题肯定是让最小的减,然后从大到小用set操作 那么我们枚举set了多少个数,算一下至少要减多少, 需要注意的是,如果要减到的数x大于a1,那么 阅读全文
posted @ 2023-08-25 10:11 gan_coder 阅读(31) 评论(0) 推荐(0)
摘要:B题没想到被坑了两次,极端情况明明也很好想,硬是WA了两发。 C题很想之前做过的经典蚂蚁题,但是又不太一样, 但分析之后,发现之后奇偶性相同才可能碰撞,那么分开处理, 假如已经有相向而行,肯定是最快碰撞的,用一个栈维护即可,最后就是剩下的肯定是 L L L ... R R R将它们配对即可。 ``` 阅读全文
posted @ 2023-08-24 10:07 gan_coder 阅读(31) 评论(0) 推荐(0)
摘要:[[CQOI2015] 选数](https://www.luogu.com.cn/problem/P3172) 开始感觉挺不好搞的,值域很大,但是发现除了全部相等的情况,gcd的取值只有1e5级别,所以最后特判全部相等的情况即可。 ```cpp #include #include #include 阅读全文
posted @ 2023-08-23 14:46 gan_coder 阅读(23) 评论(0) 推荐(0)
摘要:开始看成走到相邻格子,后面发现是车的走法。。。 发现可以将整个图分成四个部分, (x1,y1) $(x,y1) (x \neq x1)$ $(x1,y) (y\neq y1)$ $(x,y) (x\neq x1 ,y\neq y1)$ 然后每一部分中的点的答案都是相同的,转移即可。 ```cpp # 阅读全文
posted @ 2023-08-22 08:25 gan_coder 阅读(31) 评论(0) 推荐(0)
摘要:[abc236_e](https://atcoder.jp/contests/abc236/tasks/abc236_e) 二分+判断 如果是平均数,我们只需将每个数-mid,然后dp判断是和是否大于等于0即可 如果是中位数,那么我们将a[i]=mid看作1,然后dp判断是否大于0即可 ```cpp 阅读全文
posted @ 2023-08-15 12:45 gan_coder 阅读(147) 评论(0) 推荐(0)
摘要:[abc270d](https://atcoder.jp/contests/abc270/tasks/abc270_d) 直接贪心每次取最大的会有问题,比如说下面的例子 11 2 4 5 我们考虑dp $f[i]$表示在先手的情况下,有i个石头的局面,最多能拿多少个石头,同时记录$g[i]$表示选的 阅读全文
posted @ 2023-08-13 11:08 gan_coder 阅读(31) 评论(0) 推荐(0)
摘要:[0 vs 1](https://acm.hdu.edu.cn/showproblem.php?pid=7365) 首先如果两端不同肯定只能直接选。 两端都选不了直接失败。 不妨设现在是zero在选, 从左边来010101交替,如果先出现了一个00 比如 01010100.....10 那么我们就能 阅读全文
posted @ 2023-08-12 20:46 gan_coder 阅读(39) 评论(0) 推荐(0)
摘要:[C. 0689](https://codeforces.com/gym/104460/problem/C) 我们考虑i作为左端点的贡献。 我们强制翻转之后i这个点与原来不同,因为假如翻转之后i和原来相同,我们显然可以将这个翻转区间的左右端点往中间缩小1,也就是它会在更大的i被计算。 另一个问题,对 阅读全文
posted @ 2023-08-10 16:18 gan_coder 阅读(60) 评论(0) 推荐(0)
摘要:[E - Swap](https://atcoder.jp/contests/abc227/tasks/abc227_e) 首先我们注意到,加入我们想要一个串T,那么最小步数是唯一的。 设$f[i][j][e][y]$表示当前到第i个字符,一共用掉了j次,前面有e个E,y个Y。 然后转移即可,因为k 阅读全文
posted @ 2023-08-09 22:48 gan_coder 阅读(72) 评论(0) 推荐(0)
摘要:[E - Make it Palindrome](https://atcoder.jp/contests/abc290/tasks/abc290_e) 我们考虑一对(j,i)的贡献,假如$s[i] \neq s[j]$,就会产生贡献,它们的贡献就是 min(j,n-i-+1),那么我们考虑分开计算两 阅读全文
posted @ 2023-08-09 21:30 gan_coder 阅读(30) 评论(0) 推荐(0)