NOIP题解
文章平均质量分 53
ZigZagK
一个蒟蒻。
展开
-
NOIP2016提高组Day1题解
NOIP2016提高组Day1题解。原创 2017-05-20 22:29:20 · 1417 阅读 · 2 评论 -
【统计】NOIP2016普及组[魔法阵]题解
NOIP2016T4题解。原创 2017-02-14 21:03:33 · 1473 阅读 · 1 评论 -
【队列】NOIP2016Day2T2[蚯蚓]题解
解题报告哇直接用堆……然后发现 m=7×106m=7\times 10^6 ,用堆只有 8080 分。首先每次增长只是相对的,所以我们可以使被选出的蚯蚓减少长度而不是让其他蚯蚓增加长度。然后我们观察一下每次切蚯蚓,会发现被切的的蚯蚓比原来的蚯蚓短(且不变长),也就是说每次选出的蚯蚓长度是递减的。这就很棒啊,有单调性的话用三个队列就可以了。示例程序#include<cstdio>#include<a原创 2017-10-18 16:50:06 · 316 阅读 · 0 评论 -
【状压DP】NOIP2016Day2T3[愤怒的小鸟]题解
解题报告好像是比较简单的状压DP,我有一个数组没有清 00 ,如果是全国联赛就炸了……定义 f[s]f[s] 表示状态为 ss 的最优解,那么每次枚举 ii 和 jj ,用一条抛物线穿过去,并计算出新状态 tt ,用 f[s]+1f[s]+1 修正 f[t]f[t] 。每次都枚举太慢,我们可以直接预处理 g[i][j]g[i][j] 表示穿过 ii 和 jj 打掉的猪的集合,最后再注意一下只打一头猪原创 2017-10-18 20:22:18 · 540 阅读 · 0 评论 -
【Tarjan】NOIP2015D1T2[信息传递]题解
解题报告这……为什么我不在那年考NOIP……这道题显然是求最小且不为 11 的最小环……示例程序#include<cstdio>#include<algorithm>using namespace std;const int maxn=200000;int n,E,lnk[maxn+5],nxt[maxn+5],son[maxn+5],ans;int ti,dfn[maxn+5],low[m原创 2017-10-22 20:00:42 · 390 阅读 · 0 评论 -
【DP】NOIP2015Day2T2[子串]题解
解题报告直接DP, f[i][j][k][0/1]f[i][j][k][0/1] 表示 AA 串前 ii 位匹配 BB 串 jj 位,拿出了 kk 个子串, ii 位没选/选了的方案数。好像有三维做法,但是我不会……示例程序#include<cstdio>#include<cstring>using namespace std;const int maxn=1000,maxm=200,MOD=原创 2017-10-23 19:06:06 · 271 阅读 · 0 评论 -
【DFS】NOIP2014Day1T2[联合权值]题解
解题报告我刚开始竟然天真的只想到了 xx 和 fa(fa(x))fa(fa(x)) 的情况……全国联赛要狗带了……好像有个很棒的公式可以使用: 2ab=(a+b)2−a2−b22(ab+ac+bc)=(a+b+c)2−a2−b2−c22(ab+ac+ad+bc+bd+cd)=(a+b+c+d)2−a2−b2−c2−d2⋯2ab=(a+b)^2-a^2-b^2\\2(ab+ac+bc)=(a+b原创 2017-10-23 20:05:52 · 302 阅读 · 0 评论 -
【二分+LCA+差分】BZOJ4326(NOIP2015)[运输计划]题解
题目概述给 nn 个点的树和 mm 个运输计划( x→yx\to y ),完成所有运输计划的时间是运输计划中的最大时间。现在可以把一条边的边权改为 00 ,求完成所有运输计划的最快时间。解题报告由于求最大值的最小值,所以想到二分枚举答案 midmid 。然后预先求出LCA算出每个运输计划的时间,我们就知道有多少个运输计划超出了 midmid 。对于每个超出 midmid 的运输计划,我们肯定需要把这原创 2017-10-16 13:11:30 · 457 阅读 · 0 评论