
真·NOIP试题
LOI_DawnKing-
还记得年少时的梦吗?像一朵永不凋零的花。
展开
-
Codevs 1066 引水入城 2010年NOIP全国联赛提高组 BFS + 贪心
Codevs 1066 引水入城Input2:3 6 8 4 5 6 4 4 7 3 4 3 3 3 3 2 2 1 1 2 Output2:1 3原创 2016-10-09 10:05:56 · 574 阅读 · 1 评论 -
Codevs 1058 合唱队形 ---2004年NOIP全国联赛提高组 dp
Codevs 1058 合唱队形 —2004年NOIP全国联赛提高组枚举中间的最高点跑最长上升和最长下降子序列。注意,单调的数据答案是 0。真是一个好题, 数据在注释里。#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>#include <algorithm>using namespace st原创 2016-10-30 10:48:03 · 474 阅读 · 0 评论 -
【NOIP2010】乌龟棋 dp
【NOIP2010】乌龟棋 污龟棋~~~因为出发点是 1 所以走 n 步获得的分数是 maps[n-1] 格子 所以等效于从 0 开始输入 maps 这样比较方便#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>using namespace std;#define MAXN (360)#de原创 2016-11-11 08:53:50 · 577 阅读 · 0 评论 -
Codevs 1169 传纸条/1043 方格取数 2008/2000年NOIP全国联赛提高组 多线程dp
1169 传纸条 / 1043 方格取数2条路线一起走。 dp[i][j][k][l] 表示 第一个路线走到 i, j 第二个路线走到 k, l; 由于不能重复走, 所以当 2 个路线的点重合 只加一个maps[i][j];传纸条#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>using na原创 2016-10-30 20:17:32 · 384 阅读 · 0 评论 -
【NOIP2002】选数 枚举
Codevs1008 选数 2002年NOIP全国联赛普及组#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>#include <algorithm>#include <cmath>using namespace std;int n, k;int num[25];bool Judge(int原创 2016-11-12 15:28:32 · 739 阅读 · 0 评论 -
Codevs1155 金明的预算方案 ——2006年NOIP全国联赛提高组 变种经典背包dp
Codevs1155 金明的预算方案 ——2006年NOIP全国联赛提高组由于至多有2个附件,直接手动枚举就好了。 dp时:如果当前物品是附件, 跳过如果当前物品时主件 只选这个主件,不选它的附件当这个主件有附件时, 选它和它的第一个主件当这个主件有2个附件时, 选它和它的第二个主件当这个主件有2个附件时, 选它和它的所有附件#include <cstdio>#include <原创 2016-11-01 11:06:06 · 520 阅读 · 0 评论 -
Codevs1115 开心的金明 ——2006年NOIP全国联赛普及组 普通背包dp
Codevs1115 开心的金明 ——2006年NOIP全国联赛普及组水水水水水……#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>using namespace std;#define MAXN (25+5)#define MAXV (30000+30)struct item{ i原创 2016-11-01 11:30:04 · 449 阅读 · 0 评论 -
【NOIP2015】信息传递 dfs
【NOIP2015】信息传递 codevs4511 luogu2661如果我去年在 考场上 会怎样呢?#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>using namespace std;#define MAXN (200020)int tot = 0;int first[MAXN]原创 2016-11-16 16:36:31 · 1684 阅读 · 0 评论 -
【NOIP2010】关押罪犯 (二分+图染色)||(贪心+并查集)
Freda 的试题分析:解法一:二分答案+染色 二分答案,对于答案 P。建立对应的图,将冲突值大于 P 的两个罪犯对应的点连边。然后将点染成 1/2两种颜色,有边相连的两点不能同色。半段是否可行(有删减)。解法二:贪心+并查集 按边权从大到小排序。依次处理每条边,如果这条边连接的点还没有被并入一个集合,那么将其并入一个集合,并且设二者不再一个监狱里。否则,如果二者在一个集合且产生矛盾,终止算法得原创 2016-11-13 21:21:20 · 742 阅读 · 0 评论 -
Codves 1044 拦截导弹 ---1999年NOIP全国联赛提高组 dp(n2 || nlogn)
Codves 1044 拦截导弹 —1999年NOIP全国联赛提高组一遍最长不上升子序列, 一遍严格上升子序列。n方代码:#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>using namespace std;#define MAXN (20+2)int a[MAXN], dp[MAXN];i原创 2016-10-30 10:15:07 · 785 阅读 · 2 评论 -
Codevs 3288 积木大赛 --2013年NOIP全国联赛提高组
Codevs 3288 积木大赛我听说 imcy 学长说有个一个 叫dc的某学长这个题打了N行 imcy 笑了;然后—–>>原创 2016-04-09 15:26:41 · 1162 阅读 · 1 评论 -
【NOIP2012】寻宝 模拟
【NOIP2012】寻宝 模拟原来一直都理解错了题意……记录一下每层有多少个有楼梯的房间比如有 3 个房间有楼梯, 需要找到第 4 个房间, 那就相当于找到第 1 个房间通过这样减少模拟次数。代码#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>using namespace std;#define原创 2016-11-10 07:26:57 · 1657 阅读 · 0 评论 -
【Codevs】1197 Vigenère密码 --2012年NOIP全国联赛提高组
【Codevs】1197 Vigenère密码 –2012年NOIP全国联赛提高组原创 2016-09-26 08:53:43 · 416 阅读 · 0 评论 -
【Codevs】3731 寻找道路 --2014年NOIP全国联赛提高组
在有向图G中,每条边的长度均为1,现给定起点和终点,请你在图中找一条从起点到终点的路径,该路径满足以下条件:1.路径上的所有点的出边所指向的点都直接或间接与终点连通。2.在满足条件1的情况下使路径最短。注意:图G中可能存在重边和自环,题目保证终点没有出边。请你输出符合条件的路径的长度。原创 2016-04-15 22:03:42 · 527 阅读 · 0 评论 -
Codevs 1018 单词接龙 DFS --2000年NOIP全国联赛普及组NOIP全国联赛提高组
Codevs 1018 单词接龙 DFS 深搜。原创 2016-10-12 15:26:00 · 1214 阅读 · 2 评论 -
Codevs1154 能量项链 ——2006年NOIP全国联赛提高组 区间dp
Codevs1154 能量项链将环变成一条 2*n 的链, 这样环上不同起点往后就是 区间 i~i+n-1然后区间dp#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>using namespace std;#define MAXN (100+10)int num[MAXN << 1];int原创 2016-11-03 15:12:30 · 368 阅读 · 0 评论 -
POJ1651 Codevs1017 乘积最大 ---2000年NOIP全国联赛提高组 dp
POJ1651 Codevs1017 乘积最大 —2000年NOIP全国联赛提高组预处理出所有数字组合。 dp[i][k] 表示前 i 个数字已经用了 k 个 乘号。 状态转移方程:dp[i][k] = max(dp[i][k], dp[j][k-1]*mul[j+1][i]); 第i个数字用了k个乘号的状态 可以从 小于i 的j 用了k-1个乘号的状态转移而来。#include <cstd原创 2016-10-31 19:52:37 · 418 阅读 · 0 评论 -
【NOIP2014】飞扬的小鸟 背包dp
UOJ【NOIP2014】飞扬的小鸟 背包dp codevs 3729 飞扬的小鸟苟且抄DQS代码。 题解都在代码注释中……#include <cstdio>#include <cstring>#include <iostream>#include <cstdlib>using namespace std;#define MAXN (10010)#define MAXM (1010)原创 2016-11-09 11:07:39 · 563 阅读 · 0 评论 -
【NOIP2011】统计单词个数 划分性dp*2
【NOIP2011】统计单词个数dp[i][k] 代表前 i 个字母分成 k 段的最大单词数。 w[i][j] 代表 区间[i,j]的最大单词数。所以,先处理出 w, 再处理 dp。w[i][j] 不能共同前缀, 所以从后往前更新,验证前缀。 w[i][j] = w[i+1][j]+1 (当存在以i开头的单词完全在 [i,j] 内) w[i][j] = w[i+1][j] (other cas原创 2016-11-09 19:54:29 · 1030 阅读 · 0 评论 -
【Codevs】3289 花匠 --2013年NOIP全国联赛提高组 贪心
暴力: 贪心原创 2016-09-26 18:24:22 · 373 阅读 · 0 评论 -
SD-NOIP2016游记
第一篇游记,献给我的NOIP。day-1放松日。 上午大家一起去爬山,玩的很开心,累的很爽。 中午自助餐很滋磁……但是我对活的海鲜该是很怵……mdzzqer…… 回来玩了一会就上课了,然而,上什么课啊,默默的挨时间……不想学习…… 唯一干了一点人事是和xczhw把教室里的公用图书录入了电脑,建立一个小小图书馆非常有趣啊,哦对,还有mfc也来帮忙了,很热心(看来也不想学习…… 就这样到了晚上原创 2016-11-21 12:29:29 · 1542 阅读 · 7 评论