
NOIP
hipamp
这个作者很懒,什么都没留下…
展开
-
NOIP2010乌龟棋
题目描述小明过生日的时候,爸爸送给他一副乌龟棋当作礼物。 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数)。棋盘第1格是唯一 的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点。……1 2 3 4 5……N…… 1 ~2~ 3 ~4 ~5 ……N……1 2 3 4 5……N乌龟棋中M张...原创 2019-07-28 23:17:09 · 154 阅读 · 0 评论 -
NOIP2001统计单词个数
题目描述给出一个长度不超过200的由小写英文字母组成的字母串(约定;该字串以每行20个字母的方式输入,且保证每行一定为20个)。要求将此字母串分成k份(1< k< =40),且每份中包含的单词个数加起来总数最大(每份中包含的单词可以部分重叠。当选用一个单词之后,其第一个字母不能再用。例如字符串this中可包含this和is,选用this之后就不能包含th)。单词在给出的一个不超过6...原创 2019-07-28 23:50:46 · 370 阅读 · 0 评论 -
NOIP2010关押罪犯
题目描述SSS 城现有两座监狱,一共关押着NNN 名罪犯,编号分别为1−N1-N1−N。他们之间的关系自然也极不和谐。很多罪犯之间甚至积怨已久,如果客观条件具备则随时可能爆发冲突。我们用“怨气值”(一个正整数值)来表示某两名罪犯之间的仇恨程度,怨气值越大,则这两名罪犯之间的积怨越多。如果两名怨气值为c 的罪犯被关押在同一监狱,他们俩之间会发生摩擦,并造成影响力为ccc 的冲突事件。每年年末,警察...原创 2019-07-26 17:46:18 · 263 阅读 · 0 评论 -
NOIP2007矩阵取数游戏(dp + 高精)
分析一开始可以想到的dp是用f[i][j]f[i][j]f[i][j]表示取到剩区间[i,j][i,j][i,j]时的最大得分,转移方程比较显然。不过我采用了另一种做法,就是用f[i][j]f[i][j]f[i][j]表示取完了区间[i,j][i,j][i,j]的最大得分,相当于反过来做把。这样可以得到转移方程:f[i][j]=max(f[i+1][j]+a[i], f[i][...原创 2019-08-08 13:00:55 · 239 阅读 · 0 评论 -
NOIP2012开车旅行(双向链表 + 倍增)
分析我尼玛,这题目也太长了吧。emmmm,先考虑70分做法,先 n2n^2n2 处理每个点的最近和次近,每次询问手动模拟。考虑优化,手动模拟,有点像爬树的过程,可以用倍增优化成 O(mlogn)O(mlogn)O(mlogn)。问题在于,怎么处理出最近和次近呢?呃呃呃这还是陈老师教我的,用双向链表。按高度从小到大排序后,从 111 扫到 nnn ,每次找到 编号为 iii 的 左...原创 2019-08-18 23:52:09 · 198 阅读 · 0 评论 -
noip2017 宝藏(状压dp
分析在变化的量是啥?已经打的点的集合,还有当前生成树的深度。于是我们用 f[s][i]f[s][i]f[s][i] 表示已打的集合为 sss , 生成树深度为 iii 的最小代价。转移的话,答案肯定是由 SSS 的子集转移而来,我们就枚举子集,剩下的点作为第 iii 层,以此得到转移方程:f[S][i]=min(f[S0][i−1]+i∗v[S0][Sf[S][i] = min(f[...原创 2019-09-11 17:17:04 · 237 阅读 · 2 评论 -
NOIP2016 解题报告
D1T1 玩具谜题分析直接模拟即可代码如下#include <cstdio>#include <iostream>#include <cstring>using namespace std;char s[100003][11];int a[100003];int main(){ int i, j, n, m, t = 1, w; scan...原创 2019-10-04 11:56:46 · 178 阅读 · 0 评论 -
NOIP2017 解题报告
D1T1 小凯的疑惑分析求不能用 ax+by=t(x>0,y>0)ax+by=t (x > 0, y > 0)ax+by=t(x>0,y>0) 表示的最大值 ttt。我们不妨求最小 t0t_0t0,满足 t≥t0t\geq t_0t≥t0时,ttt 恒能用 ax+byax+byax+by 表示。设 t0=ax+byt_0 = ax + byt0=a...原创 2019-10-04 22:15:01 · 174 阅读 · 0 评论 -
NOIP2018 解题报告
D1T1 铺设道路分析这题就是NOIP2013 积木大赛原题=。=,贪心地想,如果 ai>ai−1a_i > a_{i-1}ai>ai−1, ans+=ai−ai−1ans+=a_i-a_{i-1}ans+=ai−ai−1,因为搞 ai−1a_{i-1}ai−1 的时候,能尽量搞 aia_iai 就搞 aia_iai。代码如下#include <ios...原创 2019-10-05 19:08:32 · 249 阅读 · 1 评论