NOIP历年真题
文章平均质量分 82
Faithfully__xly
这个作者很懒,什么都没留下…
展开
-
记忆化搜索 + 贪心 - WOJ#1838 引水入城
传送门 Analysis 这道题的关键之处就在于一个很重要的结论: 每个蓄水厂在最底层能覆盖的一定是一个连续的区间 有了这个性质后,我们就可以记忆化搜索得到每个蓄水厂能覆盖的最左端点和最右端点,然后贪心进行最少线段覆盖即可 至于我这个憨憨。 只想到了n3的做法 对于每个蓄水厂bfs,记录下它能到达的最底层的点 然后就无法做到记忆化,也不能做线段覆盖 本来在思考用类似背包的思想处理每个蓄水厂,然而...原创 2019-10-25 14:31:30 · 147 阅读 · 0 评论 -
CSP-S赛前专题总结
图论 最短路 生成树 强连通 差分约束 拓扑排序 欧拉图 最短路 1.建模: 将原问题转化通过某种性质转化为图论问题 注意: 建图的时候是否可以优化(是否加了一些对答案无影响的边) 和某些特定数量的点有关,考虑枚举。(枚举时也可以优化,比如只枚举前几个,便可以推出最后一个,诸如此类) 一些需要用到的值,考虑预处理。枚举+拼凑答案 可以建模的情况: 最值(e.g.墨墨的等式) ...原创 2019-10-20 23:30:12 · 153 阅读 · 0 评论 -
NOIP2016提高组DAY1T3 - 天天爱跑步(多种做法持续更新)
图论题找结论 Analysis 思考,如果一条路径能够被观察员观察,最基本的条件就是观察员在这条路径上 那么对于一条路径,我们分别考虑观察员位于x−>lcax->lcax−>lca和y−>lcay->lcay−>lca路径上的情况 Case 1 如果观察员u位于x−>lcax->lcax−>lc...原创 2019-08-08 17:00:19 · 187 阅读 · 3 评论 -
NOIP2012提高组Day1T2 - 国王游戏
国王游戏 描述 恰逢 H 国国庆,国王邀请 n 位大臣来玩一个有奖游戏。首先,他让每个大臣在左、右手上面分别写下一个整数,国王自己也在左、右手上各写一个整数。然后,让这 n 位大臣排成一排,国王站在队伍的最前面。排好队后,所有的大臣都会获得国王奖赏的若干金币,每位大臣获得的金币数分别是:排在该大臣前面的所有人的左手上的数的乘积除以他自己右手上的数,然后向下取整得到的结果。 国王不希望某一个大臣获得...原创 2018-11-07 19:23:28 · 172 阅读 · 0 评论 -
NOIP2009提高组Day?T3 - 最优贸易
传送门 Analysis 两遍SPFA 1.求出1~i的路径上点权最小值 mn[i]mn[i]mn[i] 2.求出i~n的路径上点权最大值 mx[i]mx[i]mx[i] 最后枚举每一个点作为出售点,mx[i]−mn[i]mx[i]-mn[i]mx[i]−mn[i]得到答案 喵喵喵,太妙了!!! 这道题结合了反向建图+SPFA最短路思想 看了题解发现很简单,但自己就是没想到 只能乱搞拿到20分,...原创 2018-11-04 21:53:55 · 122 阅读 · 0 评论 -
NOIP2017提高组DAY1T3 - 逛公园(超详细&两种做法)
传送门 Analysis 首先看到这道题,暴力30分很好打 针对k=0k=0k=0的情况,我们直接最短路计数就可以了 然后还是从k入手,发现k最多只有50,是个突破口 我们可以试着每次枚举k,限制路径长度然后计数,最后相加 如果令f[u][j]f[u][j]f[u][j]表示当前在u这个点,与 u 到 1 的最短路相差 j 的路径条数 那么怎么更新这个状态呢? 令 v 能够到 u 那么可以得到:...原创 2018-11-03 21:46:26 · 768 阅读 · 0 评论 -
NOIP2016提高组Day1T1 - 玩具谜题(toy)
传送门 Analysis 好像没有什么好分析的 毕竟这可是被洛谷评为普及-的题啊 只是需要注意一下,这种取模的问题下标从0开始编号会方便很多很多 Code #include<bits/stdc++.h> #define in read() #define N 100009 using namespace std; inline int read(){ char ch;int f=...原创 2018-11-04 19:08:10 · 242 阅读 · 0 评论 -
NOIP2017提高组DAY2T2 - 宝藏
传送门 Chating 说实话,NOIP的暴力分都挺好拿的 比如这道题,前40%的数据,随便乱搞都可以拿到手(毕竟nnn如此之小) 然后思考一下正解,感觉可以状压,但是并不知道怎么搞。。 后来手贱翻了题解,暴击++++ 很很(hao)简(li)单(jie)的状压啊 打算练习一下状压(但是ldw老师说这个dp嘛,练了提升也不大。。我有点方) Analysis 可以枚举起点i,设立数组dp[S]表...原创 2018-11-04 17:49:13 · 160 阅读 · 0 评论 -
NOIP前 基础动态规划模板
背包问题 0/1背包,完全背包,多重背包,分组背包,二维背包,混合背包 背包 0/1背包 (每个物品只能选择一个) for(i=1;i&lt;=n;++i){ w[i]=in;c[i]=in; } for(i=1;i&lt;=n;++i){ for(j=m;j&gt;=w[i];--j)//0/1背包要倒序!保证不会将同一个物品多次放入 f[j]=max(f[j-w[i]]...原创 2018-11-09 21:38:10 · 170 阅读 · 0 评论 -
NOIP前 基础算法模板
二分(单调性) 三分(单峰函数) 离散化 (数据范围过大) 中位数 O(n) 逆序对(归并排序&amp;树状数组) 二分 (整数域上的二分) int l=1,r=1000,ans=0; while(l&lt;=r){ int mid=l+r&gt;&gt;1; if(check(mid)) ans=mid,l=mid+1; else r=mid-1; } printf("%d&am原创 2018-11-06 22:05:02 · 302 阅读 · 0 评论 -
NOIP2015提高组Day2T3- 运输计划
传送门 Tips 如果两个点的LCA会被反复用到,就可以拿一个数组存下来,避免反复计算 Analysis 又是一道好喵喵喵妙的题啊!!!树上差分太棒了,简直太厉害 不过首先我们得看出来这是一道二分可以解决的问题 然后问题就变成了怎么check 看看gsj大佬怎么说吧 Code 注意常数因子带来的程序效率上的影响。 所以树链剖分貌似要快得多 但……hhh,写的倍增 #include<bi...原创 2018-11-06 21:06:57 · 212 阅读 · 0 评论 -
NOIP前 基础字符串模板
哈希(字符串的常规处理) KMP(字符串匹配) Manacher(最长回文子串) Trie树(用处可多了。) KMP 一定要明确nxt数组的含义 很多题可以转化为KMP都是牵扯到了nxt的含义 所以nxt[i]是什么呢? 就是当前这位i的前缀中,前缀与后缀相同的最长的长度 记几个结论吧: 1.一个字符串的最小循环节长度就是len−nxt[len]len-nxt[len]len−nxt[le...原创 2018-11-09 10:55:24 · 185 阅读 · 0 评论 -
NOIP前 基础数学模板
乘法逆元(三种方法) 乘法逆元 存在a的逆元:当且仅当gcd(a,p)=1gcd(a,p)=1gcd(a,p)=1(p为模数) 逆元的作用:模意义下的除法,可以不炸精度 1.线性递推 对模数没有特殊要求,但要注意数据范围是否支持O(n) 线性递推只在a&amp;amp;amp;lt;=p的时候有用!!! 仔细看一下数据范围 inv[1]=1; for(int i=2;i&amp;amp;amp;lt;=n;++i) inv[i]=(p-p...原创 2018-11-09 08:24:41 · 271 阅读 · 0 评论