随笔分类 - 题解
P2709 小B的询问
摘要:P2709 小B的询问 题目翻译: 给定一个长度为 \(n\) 的序列 \(a\),\(m\) 次询问,每次给定一个区间 \([l,r]\) 求这个区间内出现的每一种数字的个数的平方和 思路: 发现是区间的查询次数,考虑使用莫队来离线处理答案,主要部分没有太大区别,主要是在更新删减点的时候做改变。
P2564 [SCOI2009] 生日礼物
摘要:P2564 [SCOI2009] 生日礼物 题目翻译: 给你每个珠子的位置和种类,你要求出一个最小的区间,使里面包含所有种类的珠子。 思路: 我们可以发现,若一个区间的边缘上的珠子,在该区间内已经有了,那这个珠子就没必要拿,那我们只需要找到第一个包含所有的区间,在从左往又看,看这个珠子能否删去,若能
P3522 [POI2011] TEM-Temperature
摘要:P3522 [POI2011] TEM-Temperature 题目翻译: 给定每一天温度的可能区间,求最长的一段时间,使其每天可能的温度不下降。 思路分析: 我们可以发现,若某一天可以加入前面的区间。那他的最高温度一定大于之前区间内最低温度的最大值(显而易见,若小于,那这段的温度一定下降)所以我们
P4653 [CEOI2017] Sure Bet
摘要:P4653 [CEOI2017] Sure Bet 题目翻译: 我们可以选取任意数量的灯泡,其中灯泡有两种,每一个灯泡都有一个价值,而每取一个灯泡都会消耗一个价值,而我们要求的是,最后若只计算一种种类的灯泡的话,那获得价值较小的最大值。 思路分析: 我们根据题意可已发现我们的目标:若所选第一种的灯泡
P9806 [POI2022~2023R1] poc
摘要:P9806 [POI2022~2023R1] poc 题目翻译: 给定一个一序列 \(A\),表示每节车厢的类型,在给出一个一个序列 \(B\),这个序列是从 \(A\) 中可以选出来,求 \(A\) 序列的那些点是可能选到的 思路: 我们阅读题目可以发现,若一个数在 \(A\) 中可以取的话,那他
P11269 【MX-S5-T3】IMAWANOKIWA (Construction ver.)
摘要:P11269 【MX-S5-T3】IMAWANOKIWA (Construction ver.) 题目翻译: 对一个初始长度为 \(n\) 的序列 \(a\) 进行操作,每次操作可以任选两个相邻的数 \(a_j,a_{j+1}\) 将这两个数删去,在加上 \(popc(a_j+a_{j+1})\)
AT_arc178_d [ARC178D] Delete Range Mex
摘要:[ARC178D] Delete Range Mex 题目翻译: 给定一个长度为 \(M\) 且值域为 \([1,N-1]\) 的整数序列 \(A\),及目标序列。我们要对为 \((0,1,2,…,N-1)\) 所组成的序列\(P\)的不同排序进行统计,统计有多少种排序使其在任意次数的操作下变为 \
P4513 小白逛公园
摘要:P4513 小白逛公园 题目翻译: 给定一个长度为\(n\)初始序列,并进行\(m\)次询问,求一个区间类的最大连续子序列的大小,或者单点修改。 思路: 看到单点修改和区间查询可以很容易想到线段树,那如何用线段树来维护最大连续子序列。我们考虑给线段树维护以下参数: \[$lm,rm,sum,mx$
P4767 [IOI2000] 邮局 加强版
摘要:P4767 [IOI2000] 邮局 加强版 双倍经验P10967 [IOI2000] 邮局(原始版) 题目翻译: 给定村庄数量\(v\)和邮局数量\(p\)求如何放置邮局才能使每个村庄到邮局的距离和最小 思路: 法一: 我们可以很快看出一个关系,令\(dp[i][j]\)表示前\(i\)个村庄放置
P3205 [HNOI2010] 合唱队
摘要:P3205 [HNOI2010] 合唱队 题目翻译: 太简单了,就不翻译了 思路: 一道很不像区间\(dp\)的区间\(dp\),我们知道,不管是理想队形,还是初始队形,其大小都为\(n\),那我们令\(i,j\)表示已经加入的队形在最终队形的\(i\)到\(j\)中则令\(f[i][j][0]\)
P1220 关路灯
摘要:P1220 关路灯 题目翻译: 给定一段路,路上每个灯的位置,和每个灯的功率。并给出老张的初始位置,求出一个方案,使得老张关完所有灯时所消耗的电量最小,并输出最小电量 思路: 只是一道很明显的区间\(dp\),有与每关完一个区间内的灯时,老张可嫩在这个区间的左边或右边,那我令\(dp[i][j][o
P1525 [NOIP2010 提高组] 关押罪犯
摘要:P1525 [NOIP2010 提高组] 关押罪犯 题目翻译: 题目的意识就是要把所有罪犯给分成两组,使其中有仇恨的囚犯尽可能少。或者使每个组的影响度最小; 思路: 我们可以发现,若两个人有仇恨的话,那尽量使这两个人不在一组即可。我们因此可以想到把所有罪犯仇恨所造成的影响从大到小进行排序。影响越大的
P1111 修复公路
摘要:P1111 修复公路 思路: 本题我们可以运用贪心的思想,将修剪每条路的时间从小到大进行排序,然和用并查集来依次加入道路所连接的两个村庄。若两个村庄已经在同一个集合里,代表这两个村庄联通。我们只需要找到连接村庄的道路的最大修建时间,输出即可。但要在输出前遍历每个点,看它们是否在一个集合里。不在就输出
P3623 [APIO2008] 免费道路
摘要:P3623 [APIO2008] 免费道路 题目翻译: 给定一个无向联通图,图中的边有两种类型\(1\)或\(0\),求生成一棵树使得类型为\(0\)的边要为\(k\)个。 思路: 阅读题目发现,最后的图要是一棵树,使得上面边为\(0\)的个数为\(k\),我们可以想到先找到,\(k\)个边在找其他
P5836 [USACO19DEC] Milk Visits S
摘要:P5836 [USACO19DEC] Milk Visits S 题目翻译: 给出一棵树,求任意两点间的唯一路径上是否有\(G\)或\(H\) 思路: 这是一道\(LCA\)的变形,这一次要维护的是路径上有的点。令\(f[u][i][0]\)为\(u\)节点的\(2^i\)次父亲节点。\(f[u][
P1351 [NOIP2014 提高组] 联合权值
摘要:P1351 [NOIP2014 提高组] 联合权值 题目翻译: 给定一个\(n\)个节点,\(n-1\)条边的无向连通图。及一颗无根树。求任意两个相距为\(2\)的点求其联合权值\(w_i \times w_j\),输出所有联合权值的和对\(10007\)取模后的结果和最大值(注意:只有和需要取模,
P4281 [AHOI2008] 紧急集合 / 聚会
摘要:P4281 [AHOI2008] 紧急集合 / 聚会 题目翻译; 给你一颗数,边权为\(1\),在,给你\(x,y,z\)三个节点,求一个节点,使\(x,y,z\)到该节点的花费最小 思路: 求树上路径,我们一定会想到\(lca\),但本题要求求出\(3\)个点,那我们先求出两两之间的\(lca\)
P2391 白雪皑皑
摘要:P2391 白雪皑皑 题目翻译: 给定\(n,m,p,q\),先进行\(m\)次染色操作,将 \((i*p+q)\) \(mod\) \(n+1\) 到 \((i*q+p)\) \(mod\) \(n+1\)赋值为\(i\),求最后这\(n\)片雪花被染成什么颜色 题目分析: 我们分析区间\(l\)
P1347 排序
摘要:P1347 排序 题目翻译: 给出\(m\)个关系,求是否能找到他们之间的大小关系。根据能,有冲突,不能来分别作答 思路: 我们可以把小的向大的建一条边,则若\(a\)能到\(b\),则\(a\)比\(b\)小,根据这个原理,我们可以进行拓扑排序,来求出所有点的位置,若要分别讨论三种情况,我们可以得
P2419 [USACO08JAN] Cow Contest S
摘要:\(P2419 [USACO08JAN] Cow Contest S\) 题目翻译: 给出\(N\)和\(M\),\(N\)为牛的个数,\(M\)为关系总数,再给出\(M\)个关系\(a,b\)及\(a\)与\(b\)相比\(a\)能获胜。求有多少牛能确定它的排名 思路: 要求出哪些牛能够找出排名,