ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

水题记录

2022-05-25 16:00:12  阅读:198  来源: 互联网

标签:每个 水题 记录 线段 维护 2022.5 2022.4 dp


2022.5.24

  1. P4381 [IOI2008] Island:基环树森林,在每个基环树中求直径,环上单调队列。
  2. UVA10369 Arctic Network:最小生成树。
  3. P6066 [USACO05JAN]Watchcow S:建一棵生成树 dfs 一遍,对于返祖边单独走。
  4. P6175 无向图的最小环问题:floyd。
  5. UVA663 Sorting Slides:二分图最大匹配,删掉每条匹配边之后再跑最大匹配。
  6. UVA1327 King's Quest:tarjan 缩点,scc 内的都合法。

2022.5.23

  1. P4819 [中山市选]杀人游戏:tarjan 缩点,先把入度为 0 的选上,然后对于大小为 1 且连出去的点入度都 \(>1\) 的点有一个是可以不选的。
  2. UVA1537 Picnic Planning:先在根连着的每个连通块中求最小生成树,然后不断换边。
  3. P3629 [APIO2010]巡逻:\(k=1\) 时,直接连直径,\(k=2\) 时,把第一条直径的边权都改成 \(-1\) 后再求直径。
  4. P1485 火枪打怪:二分,贪心从右往左打,\(p-(i-j)^2=p-i^2+2ij-j^2\),维护一下后缀和,或者直接三次差分。

2022.5.22

  1. P4696 [CEOI2011]Matching:将 kmp 的匹配改为判断排名是否相同。
  2. P4140 奇数国:状压质数,线段树维护乘积和质数是否出现。
  3. P3306 [SDOI2013] 随机数生成器:推式子,bsgs 求解。
  4. P5364 [SNOI2017]礼物:矩阵快速幂,\((i+1)^k=\binom k 0 i^k+\binom k 1 i^{k-1}+\cdots +\binom k k i^0\)。
  5. CF895C Square Subsets:状压质数,将每个数写成二进制,每一位表示该质数出现了奇数/偶数次,求出线性基,答案即为 \(2^{n-|B|}\)。
  6. P2260 [清华集训2012]模积和:整除分块。
  7. 51nod1407 与与与与:高位后缀和,容斥。

2022.5.21

  1. S2OJ1426 空:将相交和包含的情况分开讨论,分别用树状数组维护。
  2. S2OJ1427 早苗:设 \(f_{i,j}\) 表示前 \(i\) 个数最后有 \(j\) 个不同的方案数,矩阵快速幂优化。

2022.5.21

  1. CF696D Legen...:AC 自动机上 dp,矩阵快速幂优化。
  2. P3715 [BJOI2017]魔法咒语:数据分治,一部分暴力,另一部分矩阵快速幂。
  3. P5537 【XR-3】系统设计:从根到每个点的路径是唯一的,预处理后存哈希,然后查询的时候将前面的补上,二分,单点修改,线段树维护哈希。

2022.5.19

  1. loj6669 Nauuo and Binary Tree:按深度从小到大处理,因为是二叉树,所以当我们知道两点的 lca 后,就知道在哪棵子树里了,每次找与重链最下面的点的 lca,在重链上跳 \(O(n^2)\)。
  2. P5666 [CSP-S2019] 树的重心:以重心为根,对每个点考虑删掉有多少边后是子树的重心,树状数组维护。
  3. CF1678C Tokitsukaze and Strange Inequality:先枚举 \(c\),倒序枚举 \(a\),统计合法 \((b,d)\) 个数。

2022.5.18

  1. P4886 快递员:点分治,关键在于判断当前点是否最优。
  2. P1600 [NOIP2016 提高组] 天天爱跑步:将路径拆成两条,一条向上,一条向下,然后根据 \(dep\) 的关系用树状数组维护,单点修改,子树求和。
  3. P4407 [JSOI2009] 电子字典:建出 trie 树,对每个询问在 trie 树上 dfs,记录是否有过修改。
  4. 小测。

2022.5.17

  1. P4884 多少个 1?:bsgs,求 \(10^x\equiv k*9+1\ (\bmod m)\)。
  2. P3601 签到题:直接求 \([l,r]\) 中的 \(\varphi\) 即可。
  3. P3868 [TJOI2009] 猜数字:exCRT,求解方程组 \(x\equiv a_i\ (\bmod b_i)\)。
  4. P1593 因子和:先将 \(a\) 分解质因数,答案即为 \(\prod_{i=1}^k\sum_{j=0}^{c_i}p_i^j\),注意逆元特判一下。
  5. P3239 [HNOI2015]亚瑟王:考虑每张牌的贡献,设 \(g_i\) 表示第 \(i\) 张牌出的概率,\(f_{i,j}\) 表示最后前 \(i\) 张牌出了 \(j\) 张的概率。

2022.5.16

  1. CF148D Bag of mice:设 \(f_{i,j}\) 表示还有 \(i\) 个白 \(j\) 个黑时,A 赢的概率,\(g_{i,j}\) 表示 B 赢的概率,dp 即可。
  2. CF601C Kleofáš and the n-thlon:设 \(f_{i,j}\) 表示前 \(i\) 轮比赛后得分为 \(j\) 的期望人数,滚动数组,前缀和优化。
  3. P6089 [JSOI2015]非诚勿扰:对于每个女生,接受每个男生的概率就是等比数列求和,然后树状数组维护后缀和。
  4. P4570 [BJWC2011]元素:按魔力值从大到小插入线形基。
  5. CF280C Game on Tree:考虑每个点的贡献,只有它是它到根的链上第一个被删的才有 1 的贡献,概率为 \(\frac 1 {dep}\)
  6. HDU4035 Maze:设 \(f_x\) 为从 \(x\) 走出迷宫的期望步数,都可以写成 \(f_x=af_1+bf_{fa}+c\) 的形式,最后 \(f_1=\frac c {1-a}\)。

2022.5.15

  1. CF908H New Year and Boolean Bridges:对于 \(and\),一定在一个 SCC 内,对于 \(xor\),一定不在一个 SCC,考虑将两个 SCC 合并,利用 fwt_or 和 \(O(2^n)\) 单点求值。
  2. CF1392H ZS Shuffles Cards:计算一轮期望抽几次牌,期望多少轮能抽完,乘起来。
  3. CF696B Puzzles:期望的线性性,对于 \(x\),子树内的一定在后面,\(x\) 到根的链上的一定在前面,其它点的贡献都是 \(\frac 1 2\)。
  4. P4869 albus就是要第一个出场:设线形基大小为 \(cnt\),那么每个数出现的次数都为 \(2^{n-cnt}\)。
  5. ARC107 D. Number of Multisets:整数划分套路,记搜。
  6. AGC048 B. Bracket Score:观察到每对合法的括号位置一定是一奇一偶,先全设为 (),然后奇数、偶数位置依次取最大的替换。

2022.5.14

  1. S2OJ347:线段树分治维护直径
  2. S2OJ348:\(O(n^2)\) dp 显然,设 \(f_i\) 为答案,\(f_i=min(f_{j-1}+|a_j+j-i|)\),将绝对值拆开,对于 \(a_j+j>i\) 的维护后缀 \(f_{j-1}+a_j+j\) 最小值,另一种同理。
  3. S2OJ349:先对 \(l\) 进行贪心,将放不下的取最优的放到右边,然后再对 \(r\) 贪心。

2022.5.13

  1. P7690 [CEOI2002] A decorative fence:先 dp 出来长度为 \(i\),第一个数的排名是 \(j\),第一个数为低位或高位 \(k\) 的方案数 \(f_{i,j,k}\),然后每一位从小往大试。
  2. CF101E Candies and Stones:\(O(n^2)\) dp 显然,但是卡空间,dp 可以滚动,路径可以用 bitset 记录每个位置从哪个方向转移,依然卡,所以分两半处理。
  3. CF1416D Graph and Queries:时光倒流,建重构树,对条边新建一个点,并把两个端点连在新点下面,这样每个连通块就是所在子树了,线段树维护最大值。

2022.5.12

  1. CF765F Souvenirs:将询问按右端点排序,从前往后扫,对每个数向前找比它大的数,每次减半,因为其余的都已经在前面更新过了,维护后缀 \(min\)。
  2. P6596 How Many of Them:\(f_{i,j}\) 表示 \(i\) 个点,\(j\) 条割边的无向连通图个数,\(g_{i,j,k}\) 表示 \(i\) 个点,\(j\) 个连通块,\(k\) 条割边的图个数,\(h_i\) 表示 \(i\) 个点的无向连通图个数,大力 dp。
  3. UVA1292 Strategic game:树形 dp,或者从叶子向上贪心。

2022.5.11

  1. UVA323 Jury Compromise:01背包,把差记录在状态里,存和最大是多少。
  2. P7689 [CEOI2002] Bugs Integrated,Inc.:状压 dp,每个格子 3 个状态,表示后面还要覆盖几个,卡常只枚举有用状态。

2022.5.10

  1. P1912 [NOI2009] 诗人小G:不难发现决策点单调不降,维护二分队列,也就是每个点决策的区间。
  2. P2400 秘密文件:区间 dp,枚举循环节大小,哈希判断,自定义一个字符串取 min。
  3. SP16809 EST - Estimation:区间 dp,不难发现一段区间取中位数最优,好像略微卡常。

2022.5.9

  1. UVA1640 统计问题 The Counting Problem:数位 dp 板子,记忆化的时候对于同一个数的每个数字不用清空,出现次数是一样的。
  2. P5694 [NOI2001] 陨石的秘密:\(f(a,b,c,d)\) 表示含有 \(a\) 对 {},\(b\) 对 [],\(c\) 对 (),度数为至多 \(d\) 的方案数,转移时讨论最外面是 {}[]()
  3. P5752 [NOI1999] 棋盘分割:\(f(x1,y1,x2,y2,k)\) 表示矩形 \((x1,y1)-(x2,y2)\) 分成 \(k\) 块的最小方差,记忆化搜索,最后开方。
  4. UVA1222 Bribing FIPA:树形 dp,难点在读入。
  5. P4151 [WC2011]最大XOR和路径:先随便找一棵生成树,对于返祖边形成的环,我们发现走过去再走回来贡献只有环上的值,所以将所有环的异或和加入线形基,然后查询 1 到 n 的链最大异或值。

2022.5.8

  1. CF24D Broken robot:从下往上每一行高斯消元,每个方程只有 2 或 3 个未知数,\(O(n)\) 消元即可。
  2. P6064 [USACO05JAN]Naptime G:分两次 dp,一次选首位相连,一次首位不相连。
  3. SP15637 GNYR04H - Mr Youngs Picture Permutations:从小往大放,五维 dp,枚举 5 行各填了几个数,刷表转移。
  4. SP703 SERVICE - Mobile Service:因为完成第 \(i\) 个请求必有一人到 \(x_i\) 所以只需要记录另外两人的位置。
  5. P4644 [USACO05DEC]Cleaning Shifts S:以 \(r\) 为第一关键字,\(l\) 为第二关键字排序,线段树维护 dp 值。
  6. UVA12983 The Battle of Chibi:二维树状数组维护同一长度 dp 值前缀和。

2022.5.5

  1. BZOJ3569 DZY Loves Chinese II:只写了离线线段树分治做法(

2022.5.4

  1. S2OJ1424. 染色

2022.5.3

  1. P3188 [HNOI2007]梦幻岛宝珠:先按 \(b\) 分类以 \(a\) 为体积背包预处理,然后再跑一次背包,考虑从低向高进位。
  2. AT4434 [ARC103D] Distance Sums:不难发现最大的为叶子,然后父亲的 \(d\) 可以通过子树 \(siz\) 得到,从叶子向上匹配即可。
  3. P3761 [TJOI2017]城市:暴力枚举删哪条边,处理出两颗子树中每个点到子树内其它点最远是多少。

2022.5.2

  1. 改考试题
  • hdu4630:将询问按左端点排序,从右往左扫,树状数组维护每个位置的答案,对每个 r 求前缀最大值。
  • UU146710 染色:\(f_{u,i}\) 表示以 \(u\) 为根的子树中 \(u\) 的连通块大小为 \(i\) 的方案数,转移时颜色分为两种情况(相等和不相等)。
  1. P3304 [SDOI2013]直径:找到直径,在直径上判断距离是否有其他合法路径。

2022.5.1

  1. 改考试题
  2. CF662C Binary Table:将每一列压成一个状态,统计每个状态有几列,枚举每一行是否翻转,每个状态的贡献即为 0/1 较少的次数乘上列数,fwt 异或卷积即可。
  3. P6097 【模板】子集卷积
  4. CF914G Sum the Fibonacci:\(s_a,s_b\) 子集卷积,\(s_c\) 桶,\(s_d,s_e\) 异或卷积,最后将三个数组乘上 fib 后并卷积。

2022.3.28

  1. P3710 方方方的数据结构
  2. P1502 窗口的星星
  3. P4211 [LNOI2014]LCA
  4. P4592 [TJOI2018]异或
  5. CF1658 C,D1,D2,E
  6. P2852 [USACO06DEC]Milk Patterns G

2022.3.29

  1. 改考试题
  2. P2463 [SDOI2008] Sandy 的卡片

2022.3.30

  1. P3426 [POI2005]SZA-Template
  2. P1791 [国家集训队]人员雇佣
  3. UVA1411 Ants
  4. P3608 [USACO17JAN]Balanced Photo G
  5. 小测
  6. P1646 [国家集训队]happiness
  7. CF434D Nanami's Power Plant
  8. loj #115. 无源汇有上下界可行流

2022.3.31

  1. loj #116. 有源汇有上下界最大流
  2. loj #117. 有源汇有上下界最小流
  3. BZOJ2406. 矩阵
  4. P3759 [TJOI2017]不勤劳的图书管理员

2022.4.1

  1. P3065 [USACO12DEC]First! G
  2. P3623 [APIO2008]免费道路
  3. 51nod 1551 集合交易
  4. 51nod 1325 两棵树的问题
  5. CF1660 C,D1,D2,E,F1,F2

2022.4.2

  1. P5192 Zoj3229 Shoot the Bullet|东方文花帖|【模板】有源汇上下界最大流:模板
  2. P5236 【模板】静态仙人掌:圆方树,tarjan
  3. ABC246 D,E,F

2022.4.3

  1. 考试 T1
  2. P4630 [APIO2018] Duathlon 铁人两项:圆方树,dp
  3. CF487E Tourists:圆方树,线段树
  4. CF1045C Hyperspace Highways:圆方树

2022.4.4

  1. A.最大兴趣组:数学
  2. C.分糖果:线段树
  3. P3355 骑士共存问题:网络流,最小割
  4. P4113 [HEOI2012]采花:树状数组

2022.4.5

  1. P3960 [NOIP2017 提高组] 列队:线段树维护每一行和最后一列的信息
  2. P4234 最小差值生成树:LCT 动态维护树上最小值
  3. P4332 [SHOI2014]三叉神经树(4.6调对):LCT 维护修改一个点最远能更新到哪

2022.4.6

  1. P5324 [BJOI2019]删数:推性质,线段树维护最小值及其个数
  2. P3953 [NOIP2017 提高组] 逛公园:最短路,拓扑,dp
  3. P2762 太空飞行计划问题:最小割,输出方案时枚举边删掉跑最大流判断
  4. CF1111E Tree:树剖维护链和,dfs 序上 dp
  5. CF178F3 Representative Sampling:建 trie 树,在虚树上 dp
  6. CF440D Berland Federalization:树形 dp,vector 记录转移过程

2022.4.7

  1. P4037 [JSOI2008]魔兽地图:树形背包,\(f_{i,j,k}\) 表示第i个装备,其中用 \(j\) 个来合成父亲的装备,背包容量为 \(k\) 时所能获得最大收益
  2. 考试 T1,T2

2022.4.8

  1. P4180 [BJWC2010]严格次小生成树:最小生成树,倍增维护链上最大值和次大值,枚举换一条边更新答案
  2. CF1187E Tree Painting:换根 dp
  3. P6772 [NOI2020] 美食家:矩阵快速幂优化 dp
  4. 复习 P5290, P2285
  5. 复习板子

2022.4.9

  1. 一车板子
  2. CF1665 A,B,C,D
  3. ARC138 A,B,C,D

2022.4.10

  1. P5787 二分图 /【模板】线段树分治
  2. P6657 【模板】LGV 引理
  3. P7736 [NOI2021] 路径交点:LGV 引理
  4. CF167E Wizards and Bets:LGV 引理
  5. P3527 [POI2011]MET-Meteors:整体二分

2022.4.11

  1. CF1661 B,C,D
  2. P2198 杀蚂蚁:dp,不难发现前一部分为放射塔或干扰塔,后一部分全为激光塔,\(f_{i,j}\) 表示前 \(i\) 个塔中有 \(j\) 个放射塔,\(i-j\) 个干扰塔,后面全是激光塔的最大伤害
  3. CF1153D Serval and Rooted Tree:分讨,若为取 max,则只需一个儿子最大,否则,需要所有儿子最小值最大,所以求出有多少个叶子节点影响答案,放最大的即可
  4. P2161 [SHOI2009]会场预约:神秘的 set 重载运算符,将相交的线段重载成相等的,然后用 multiset 维护
  5. P2511 [HAOI2008]木棍分割:先二分求长度,然后 dp 求方案数,前缀和优化 + 滚动数组
  6. P4591 [TJOI2018]碱基序列:在 SAM 上 dp,滚动数组
  7. ABC247 G:费用流

2022.4.12

  1. P3592 [POI2015] MYJ:区间 dp,需要记录决策点
  2. P2732 [USACO3.3]商店购物 Shopping Offers:六进制状压,完全背包
  3. CF1310C Au Pont Rouge:dp,倒着枚举转移,可以后缀和优化
  4. P7515 [省选联考 2021 A 卷] 矩阵游戏:差分约束,优化 spfa
  5. P7519 [省选联考 2021 A/B 卷] 滚榜:状压 dp,考虑封榜后过题的贡献,差乘上后面数的个数

2022.4.14

  1. 改考试题
  2. P8252 [NOI Online 2022 提高组] 讨论:排序后贪心,只需判断交集大小

2022.4.15

  1. 考试题 T1,T3
  2. P8253 [NOI Online 2022 提高组] 如何正确地排序:正难则反,二维偏序

书接上文

标签:每个,水题,记录,线段,维护,2022.5,2022.4,dp
来源: https://www.cnblogs.com/acestar/p/16309576.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有