首页 > 其他分享 >CF/ATc随机乱做

CF/ATc随机乱做

时间:2024-08-22 10:18:16浏览次数:7  
标签:二分 ATc dp CF 生成 随机 答案 考虑 DP

马上也快退役了,干点自己想干的事吧,别太功利了。

早就想开这个记录了,碍于之前学校各种各样的题单让我没时间做(其实时间是颓没的)。

现在感觉做啥都也无所谓了,开始记录吧!

本博客就简单记录一下,就记个大体思路。

1.CF1773G Game of Questions *2800

很神的状压DP啊,发现人数不多遂想到状压一下人数,设 \(dp_S\) 表示场上只剩状态为 \(S\) 的人,然后Genie赢的概率。

难点在于转移,我们并不知道有哪些问题之前被问过,但是状压问题的话就太夸张了。注意到一个性质,一个问题问几遍都和问一遍等价。这个性质看上去很显然,但却是转移的关键所在。设 \(w_{S,T}\) 表示从能让状态 \(S\) 变成状态 \(T\) 的问题个数。预处理出 \(w\) 再DP即可。

2.CF1775F Laboratory on Pluto *2500

牛的数学题,感觉真不错。第一问是简单的,一边取成 \(\sqrt{n}\) 就是最小值。虽然我不是很会证,但你要枚举根号做好像也能过。

主要是这个第二问的数数就比较困难,考虑连通块的形式,就是一个矩形四缺口这种感觉,但是缺口一定是阶梯状的,就意味着求的是拆分数,可以dp求解。求完了一个角上的方案数就背包一下就行了。这题牛就牛在单步似乎都很好想,合在一起就有点困难了,但也其实还好,我自己做的时候就是拆分数那里有点不会,可以看看 P1025 srf的那篇DP题解,学一下k部拆分数的DP求法,感觉挺妙的。

3.AGC045A Xor Battle *2000

很有趣的一道博弈论题目。还好开了题解,不然死都不会做。考虑从后往前枚举,设集合 \(S_i\) 表示从 \(i\) 开始走,有哪些数能使0赢。考虑使用线性基进行转移即可。

4.AGC043D Merge Triplets *2700

非常秀的DP题,考虑答案的形状。答案排列按下降段划分每一段都不会超过二,而且长为1的段一定比2的多。

此乃本题第一秀。于是我们设计出状态 \(dp_{i,j}\) 表示填到了第 \(i\) 个位置长为1的段比长为2的段多了 \(j\) 个的方案数。

考虑转移,观察排列,按照偏序关系建出一棵外向树,用数拓扑序的方式进行DP,此乃二秀。

5.ARC093E Bichrome Spanning Tree *2500

非常牛的数数题。考虑原图的最小生成树,如果mst都比 \(x\) 大,那肯定是没有方案的。 如果mst和 \(x\) 一样大。那就意味着能够成mst的边必有异色,这个是好数的。另外一种困难些,考虑钦定一条边在权为 \(x\) 的生成树中,那他这棵生成树是包含它的最小生成树,必定与一棵原图的最小生成树有交,构成最小生成树的边一定同色,这样数数就方便了许多。

6.ABC279G At Most 2 Colors *2400

牛的DP题,考虑状态设计,设 \(dp_{i , 1/2}\) 表示填到 \(i\) 这个位置时,最后 \(k-1\) 个位置有几种不同颜色,\(k-1\) 这个地方设计的有点巧妙,我也是这个地方想不到。如果光设计个 \(k\),那么 \(i - k\) 这个位置填啥又跟 \(i\) 这个位置填啥没关系,会影响转移,换成 \(k-1\) 就不会了。关键是求答案时答案对吗?看看自己的方程,是不是同时保证了后k个也只有两个颜色了呢。

7.CF1385G Columns Swaps *2300

2-sat 板子,无需多言

8.ABC281G Farthest City *2300

看你想不想的到BFS树结构,想到了就是一道简单DP。

9.CF1657E Star MST *2200

找到边权之间的偏序关系,有一个跟上一题类似的DP。

10.ARC103F Distance Sums *2800

妙妙构造题,非常的神奇。一看一个没思路。观察一下,发现d值最大的一定是某个叶子,d值最小的一定是重心。

然后就考虑从叶子开始向上构造推测父亲是谁(钦定重心为根)。类似换根DP去转移然后二分推出父亲即可。

11.ARC006D Median Pyramid Hard * 3000

人才题。考虑二分?为什么要考虑这个?或许是因为中位数题好多都要二分。二分什么?二分答案。我们将大于二分出来的东西的数都看作是1其他看作是0,那么只需要关注顶部数的01情况,而这取决于最靠近中间的相同数对是0还是1,于是做完了。

12.CF1659E AND-MEX Walk *2200

考虑答案的范围,容易发现答案只有可能是0,1,2,分别使用并查集判断一下即可。

13.CF1473E Minimum Path *2400

模拟赛原题,有点牛的。要求的式子很有最短路的感觉,式子的本质是抽出一条最长的换上一条最短的。

OK,比较美妙的一步来了。要想用最短路去求解,那么必须把后面那一坨塞进 \(\sum\) 里面去。

刚刚想了式子的本质,现在扩展一下,任选两条边,用一条去换另一条的最小值,此时茅塞顿开,这个问题就可以用分层图最短路进行求解了。

标签:二分,ATc,dp,CF,生成,随机,答案,考虑,DP
From: https://www.cnblogs.com/zjc2008/p/18373205

相关文章

  • CF1968E Cells Arrangement
    题意给您一个整数\(n\)。你在网格中选择$n个单元格\((x_1,y_1),(x_2,y_2),\dots,(x_n,y_n)\),其中\(1\lex_i\len\)和\(1\ley_i\len\)。让\(\mathcal{H}\)成为任意一对单元格之间不同的曼哈顿距离的集合。你的任务是最大化\(\mathcal{H}\)的大小。注释中给出了集合及......
  • 再见了Try-Catch,ECMA增加安全赋值运算符提案
    JavaScript的错误处理即将获得重大升级。新的ECMAScript安全赋值运算符提案(?=)旨在通过减少对传统try-catch代码块的需求,来简化您的代码。让我们一起来看看这个提案如何简化您的错误管理,并使您的JavaScript代码更干净、更高效。简单示例传统的try-catch代码块常常导致代......
  • CF2000 A~C 题解
    CodeforcesRound967(Div.2)A~C题解(未完待续)唐完了,B构造不会,C交互不会,整场爆切\(1\)题喜提\(-115\)rating强势上灰!我还会什么?I.2001A-MakeAllEqual先找出答案的下界。设众数为\(x\),其出现的次数为\(\operatorname{cnt}(x)\)。由于每次操作只能删除一个数,答......
  • CF889E题解
    \(\text{Problem-889E-Codeforces}\)\(\text{*3000}\)题意给一个序列,对于一个非负整数\(x\),有一个式子:\[x\bmoda_1+x\bmoda_1\bmoda_2+...+x\bmoda_1\bmoda_2...\bmoda_n\]求出上式的最大值。思路先去寻找题目的性质。首先\(x\)的值单调不增,然后如果当前\(x......
  • AtCoder Beginner Contest 046
    A-AtCoDeerandPaintCans#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;intmain(){ ios::sync_with_stdio(false),cin.tie(nullptr); set<int>s; for(inti=0;i<3;i++){ intx; cin>>x; s.inser......
  • CF 2001 E2 solution (967 Div.2)
    CF2001E2由于对称,所以设\(heap[u]\)为两次确定堆,且第一次弹出的是\(u\),\(heap[u,v]\)是第一次\(u\),第二次\(v\)则答案就是\(\sumheap[u]=2^{n-1}·heap[x]\)其中\(x\)任意。不妨我们考虑第一次都是从第一个叶子弹出,那么对于其他不同的第二个弹出的点,根据对称性......
  • CF1264D1 题解
    blog。写一个题解区没有的蠢做法,不依赖dp但是很难转到HardVersion(对于已经确定的序列,深度有单调性。就是如果答案为\(x\),那么肯定能选出深度为\(1\simx\)的子序列。记\(\operatorname{check}_s(x)\)表示check序列\(s\)能否选出深度为\(x\)的子序列。考虑如何c......
  • 第47课 Scratch入门篇:水果忍者
    水果忍者故事背景: 水果忍者是一款传统的非常好玩的游戏,我们通过鼠标控制水果刀,把弹出的水果切掉,如果切到地雷则扣分,这款游戏非常好玩,现在我们现在通过Scratch把它做出来,!程序原理: 这款游戏难点就是水果的抛起和下降,由于角色是从下往上走,也就是Y坐标慢慢变大。我......
  • 随机森林学习笔记概述
    随机森林(RandomForest)是一种集成学习方法,它通过构建多个决策树并将它们的预测结果进行投票或平均来提高预测性能。随机森林在许多实际应用中表现出了很好的性能,尤其是在分类和回归问题上。以下是关于随机森林的一些学习笔记概述:1.基本概念  集成学习:通过组合多个弱学习......
  • CF2001C Guess The Tree
    欢迎前往我的博客获得也许更好的阅读体验!题意简述这是一个交互式问题。Misuki选择了一棵有\(n\)个节点的秘密树,节点编号为\(1\)到\(n\),并要求你通过以下类型的查询来猜出这棵树:“?ab”—Misuki会告诉你哪个节点\(x\)最小化了\(|d(a,x)-d(b,x)|\),其中\(d(x,......