NOIp_刷题
le0tan
Per Aspera Ad Astra
展开
-
【NOIp 2015】【动态规划】子串
描述有两个仅包含小写英文字母的字符串 A 和 B。现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来得到一 个新的字符串,请问有多少种方案可以使得这个新串与字符串 B 相等?注意:子串取出的位置不同也认为是不同的方案。格式输入格式第一行是三个正整数 n,m,k,分别表示字符串 A 的长度,字符串 B 的长度,以及问 题描述中所提到的原创 2016-11-10 18:06:38 · 473 阅读 · 0 评论 -
【vjios】【DFS】切蛋糕
描述Facer今天买了n块蛋糕,不料被信息组中球球等好吃懒做的家伙发现了,没办法,只好浪费一点来填他们的嘴巴。他答应给每个人留一口,然后量了量每个人口的大小。Facer有把刀,可以切蛋糕,但他不能把两块蛋糕拼起来,但是他又不会给任何人两块蛋糕。现在问你,facer怎样切蛋糕,才能满足最多的人。(facer的刀很强,切的时候不会浪费蛋糕)。格式输入格式第一行n,facer有n个蛋糕。接下来n行,每行表原创 2016-11-13 16:53:27 · 596 阅读 · 0 评论 -
【luogu】【DFS+神剪枝】小木棍(数据加强)
题目描述乔治有一些同样长的小木棍,他把这些木棍随意砍成几段,直到每段的长都不超过50。现在,他想把小木棍拼接成原来的样子,但是却忘记了自己开始时有多少根木棍和它们的长度。给出每段小木棍的长度,编程帮他找出原始木棍的最小可能长度。输入输出格式输入格式:输入文件共有二行。第一行为一个单独的整数N表示砍过以后的小木棍的总数,其中N≤65(管理员注:要把超过50的长度自觉过滤掉,坑了很多人了!)第二行为N个原创 2016-11-13 12:35:35 · 1063 阅读 · 0 评论 -
【NOI导刊】【归并排序求逆序对】最接近神的人
题目描述破解了符文之语,小FF开启了通往地下的道路。当他走到最底层时,发现正前方有一扇巨石门,门上雕刻着一幅古代人进行某种活动的图案。而石门上方用古代文写着“神的殿堂”。小FF猜想里面应该就有王室的遗产了。但现在的问题是如何打开这扇门……仔细研究后,他发现门上的图案大概是说:古代人认为只有智者才是最容易接近神明的。而最聪明的人往往通过一种仪式选拔出来。仪式大概是指,即将隐退的智者为他的候选人写下一串原创 2016-11-16 16:11:53 · 586 阅读 · 0 评论 -
【NOIp 2012】【线段树】借教室
描述在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。 面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来n天的借教室信息,其中第i天学校有ri个教室可供租借。共有m份订单,每份订单用三个正整数描述,分别为dj,sj,tj,表示某租借者需要从第sj天到第tj天租借教室(包原创 2016-11-16 14:51:41 · 412 阅读 · 0 评论 -
【tyvj】【搜索】小猫爬山
背景Freda和rainbow饲养了N只小猫,这天,小猫们要去爬山。经历了千辛万苦,小猫们终于爬上了山顶,但是疲倦的它们再也不想徒步走下山了(呜咕>_描述Freda和rainbow只好花钱让它们坐索道下山。索道上的缆车最大承重量为W,而N只小猫的重量分别是C1、C2……CN。当然,每辆缆车上的小猫的重量之和不能超过W。每租用一辆缆车,Freda和rainbow就要付1美原创 2016-11-01 08:14:55 · 545 阅读 · 0 评论 -
【xjoi】【二分查找】道路规划
70分代码:(n^2 LIS)#include #include #include #include using namespace std;int n,nor[100010],sou[100010],c[100010],q[100010],dp[100010],ans=0;int main(){ memset(q,0,sizeof(q)); scanf("%d",&n);原创 2016-10-31 20:48:44 · 427 阅读 · 0 评论 -
【vijos】【二分图带权匹配】拯救世界-星际大战
描述外星人逐渐逼近,为了保护地球,现在决定直接在外空进行战斗。 现在我们有N个导弹。需要在最短的时间内,用这N个导弹摧毁敌方n个目标(1个导弹只能摧毁1个目标)。N个导弹和目标的位置不一定相同,但是给每个导弹确定目标是一件很麻烦的事情。请你编程帮助给每个导弹确定目标,使每个导弹到其目标的距离之和最小。格式输入格式第一行输入N(N<=20) 接下来N行每行包含一个坐标(x,y),表示一个导弹,-1原创 2016-11-10 08:47:34 · 453 阅读 · 0 评论 -
【vijos】【贪心】最小差距
描述给定一些不同的一位数字,你可以从这些数字中选择若干个,并将它们按一定顺序排列,组成一个整数,把剩下的数字按一定顺序排列,组成另一个整数。组成的整数不能以0开头(除非这个整数只有1位)。 例如,给定6个数字,0,1,2,4,6,7,你可以用它们组成一对数10和2467,当然,还可以组成其他的很多对数,比如210和764,204和176。这些对数中两个数差的绝对值最小的是204和176,为28。原创 2016-11-11 09:04:32 · 871 阅读 · 0 评论 -
【vijos】【BFS+hash】毒药?解药?
描述羽毛笔和im是抽签到同一个考场的,她们突然闻到一阵刺鼻的化学试剂的气味。 机灵鼠:(头都不抬)你们是考生么?还在门口磨蹭什么?快进来帮我忙!!……怎么还不进来?你们拖赛,拖赛,把你们的青春都拖掉赛…… im:开…开策了>_< 羽毛笔:哎呀~~机灵鼠大人要我们帮什么忙?^^ 机灵鼠:你们看这里的这些药,都是我研制的对付各种症状的解药。可是我一个不小心,每种药都小小地配错了一点原料,所以这些原创 2016-11-14 15:57:00 · 709 阅读 · 0 评论 -
【NOIp模拟】【二分答案】电缆老板
背景某地区即将举行区域程序设计比赛,竞赛委员会已经成立并决定举行一次最公平的竞赛,他们决定利用星形拓扑结构来连接每个竞赛者的电脑—也即连接这些电脑到一个中心HUB上;为了达到真正的公平竞赛目的,竞赛委员会主任下令要求:每个竞赛电脑连接到中心HUB的电缆必须是一样长的。 竞赛委员会联系了一个本地的电缆老板,要求老板为他们提供一定量的相同长度的电缆,而且要求电缆长度越长越好。通过调查,电缆老板知道仓库原创 2016-11-08 09:39:25 · 560 阅读 · 0 评论 -
【NOIp 2002】【BFS+STL】字串变换
描述已知有两个字串 A,B, B 及一组字串变换的规则(至多6个规则): A1−>B1 -> B1 A2−>B2 -> B2 规则的含义为:在 A$中的子串 A1可以变换为B1 可以变换为 B1、A2可以变换为B2 可以变换为 B2 …。 例如:A=′abcd′B='abcd' B=’xyz’ 变换规则为: ‘abc’->‘xu’ ‘ud’->‘y’ ‘y’->‘yz’ 则此时,A可以原创 2016-11-11 11:25:41 · 310 阅读 · 0 评论 -
【NOIp 2003】【树结构·搜索】传染病防治
描述研究表明,这种传染病的传播具有两种很特殊的性质; 第一是它的传播途径是树型的,一个人X只可能被某个特定的人Y感染,只要Y不 得病,或者是XY之间的传播途径被切断,则X就不会得病。 第二是,这种疾病的传播有周期性,在一个疾病传播周期之内,传染病将只会感染一 代患者,而不会再传播给下一代。 这些性质大大减轻了蓬莱国疾病防控的压力,并且他们已经得到了国内部分易感人群 的潜在传播途径图(一棵原创 2016-11-11 15:58:16 · 517 阅读 · 0 评论 -
【NOIp 2014】【二维dp】飞扬的小鸟
描述Flappy Bird 是一款风靡一时的休闲手机游戏。玩家需要不断控制点击手机屏幕的频率来调节小鸟的飞行高度,让小鸟顺利通过画面右方的管道缝隙。如果小鸟一不小心撞到了水管或者掉在地上的话,便宣告失败。 为了简化问题,我们对游戏规则进行了简化和改编: 游戏界面是一个长为 n,高为 m 的二维平面,其中有k 个管道(忽略管道的宽度)。 小鸟始终在游戏界面内移动。小鸟从游戏界面最左边 任意整数高原创 2016-11-11 23:25:49 · 371 阅读 · 0 评论 -
【NOIp 2004】【DFS+剪枝】虫食算
题目描述所谓虫食算,就是原先的算式中有一部分被虫子啃掉了,需要我们根据剩下的数字来判定被啃掉的字母。来看一个简单的例子:43#9865#045+8468#663344445509678其中#号代表被虫子啃掉的数字。根据算式,我们很容易判断:第一行的两个数字分别是5和3,第二行的数字是5。现在,我们对问题做两个限制:首先,我们只考虑加法的虫食算。这里的加法是N进制加法,算式中三个数都有N位,允许有前导原创 2016-11-12 10:37:12 · 478 阅读 · 0 评论 -
【NOIp 2010】【BFS】引水入城
描述在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠。该国的行政区划十分特殊,刚好构成一个N行M列的矩形,其中每个格子都代表一座城市,每座城市都有一个海拔高度。 为了使居民们都尽可能饮用到清澈的湖水,现在要在某些城市建造水利设施。水利设施有两种,分别为蓄水厂和输水站。蓄水厂的功能是利用水泵将湖泊中的水抽取到所在城市的蓄水池中。因此,只有与湖泊毗邻的第1行的城市可以建造蓄水厂。而输水原创 2016-11-13 01:45:47 · 319 阅读 · 0 评论 -
【NOIp模拟】【二分图or并查集】GoToandPlay
Description小松鼠终于吃撑了,她决定逃离这个地方。 我们用一张连通图来表示整个西湖的范围,每棵容小松鼠逗留的树都用 这张图上的一个点来表示。小松鼠能够通过只跳一次互相到达的两棵树用 图上的一条无向边来连接。 吃撑了的小松鼠有些神志不清,每次她连跳两条边之后才会在到达的那 个点上休息。她想知道,是否存在一种连续的跳法,使得她有机会在所有 的树上都休息至少一次。 对于这种跳法,你可以任原创 2016-11-14 11:12:13 · 635 阅读 · 0 评论 -
【NOIp模拟】【dp】俄罗斯方块
Description小松鼠开心地在树之间跳跃着,突然她停了下来。因为眼前出现了一个 拿着专克超萌小松鼠的法宝————超萌游戏机的游客! 超萌游戏机之所以拥有这个名字,是因为它的屏幕是一个n × 2的矩形。 小松鼠接过游戏机,开始了她的第一个游戏:俄罗斯方块。 考虑到小松鼠的智商,游戏机里的方块只有下面四种,方块按顺序下落,* * **** **原创 2016-11-14 13:38:08 · 602 阅读 · 0 评论 -
【NOIp 2015】【DFS】斗地主
题面自己网上去搜吧…代码#include <cstdio>#include <cstring>#include <algorithm>#define INF 10000000#define maxn 40using namespace std;int t,n,temp,a,zhang[maxn],ans=INF;void dfs(int,int,int,int);void shunzi(原创 2016-11-15 07:08:30 · 368 阅读 · 0 评论 -
【NOIp 2015】【二分答案】跳石头
描述自己网上找…代码#include <cstdio>#include <cstring>#include <algorithm>using namespace std;long long l,d[50010];int m,n,pre[50010],bak[50010];bool vis[50010];int main(){ freopen("stone.in","r",stdin原创 2016-11-15 11:14:46 · 580 阅读 · 0 评论 -
【vijos】【优先队列】合并果子
贪心每次选最小的两堆合并即可。 注意STL自带的优先队列是大根堆,排序是降序排列,升序需要把缺省的比较函数换成greater(也是STL自带)#include <cstdio>#include <queue>using namespace std;int n,a[10010],ans=0;priority_queue<int, vector<int>, greater<int> > q;in原创 2016-11-03 18:36:50 · 309 阅读 · 0 评论 -
【vijos】【神读入】Knights
描述在一个N*N的正方形棋盘上,放置了一些骑士。我们将棋盘的行用1开始的N个自然数标记,将列用’A’开始的N个大写英文字母标记。举个例子来说,一个标准的8*8的国际象棋棋盘的行标记为1..8,列标记为A..H,D3、H1分别表示棋盘上第3行第4列和第1行第8列的格子。 骑士是这样一类棋子。若一个骑士放置在格子(x, y)。那么格子(x-2, y-1), (x-2, y+1), (x-1, y-2)原创 2016-11-10 14:06:49 · 349 阅读 · 0 评论 -
【vijos】【位运算】Miku_Nobody
描述众所周知的(什么?你不知道?去百度一下),Nobody的团舞里有一个经典动作(那是相当的经典,经典了好几年),而这个动作是对称做两遍的.葱歌很喜欢这个动作(Mikuer们不要BS我…),她很想多做这个动作. 但是邪恶的F,为了少看这无语的动作,给了葱歌两排非负整数.一排A数,一排B数.A数有n个,B数有m个.如果一个A数和一个B数的二进制表示法中,每一位都不一样的话(不足的数高位补0),则A和原创 2016-11-10 10:45:11 · 277 阅读 · 0 评论 -
【hdu】【线段树入门】I Hate It
Problem Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当中,分数最高的是多少。 这让很多学生很反感。不管你喜不喜欢,现在需要你做的是,就是按照老师的要求,写一个程序,模拟老师的询问。当然,老师有时候需要更新某位同学的成绩。Input本题目包含多组测试,请处理到文件结束。 在每个测试的第一行,有两个正整数 N 和 M ( 0Output对于每一次询问操作,原创 2016-11-07 09:19:11 · 321 阅读 · 0 评论 -
【hdu】敌兵布阵
Problem DescriptionC国的死对头A国这段时间正在进行军事演习,所以C国间谍头子Derek和他手下Tidy又开始忙乎了。A国在海岸线沿直线布置了N个工兵营地,Derek和Tidy的任务就是要监视这些工兵营地的活动情况。由于采取了某种先进的监测手段,所以每个工兵营地的人数C国都掌握的一清二楚,每个工兵营地的人数都有可能发生变动,可能增加或减少若干人手,但这些都逃不过C国的监视。 中央原创 2016-11-05 00:07:39 · 276 阅读 · 0 评论 -
【Nescafe18】七夕祭
背景七夕节因牛郎织女的传说而被扣上了「情 人节」的帽子。于是 TYVJ 今年举办了一次线 下七夕祭。Vani 同学今年成功邀请到了 cl 同 学陪他来共度七夕,于是他们决定去 TYVJ 七夕祭游玩。 题目描述TYVJ 七夕祭和 11 区的夏祭的形式很像。矩形的祭典会场由 N 排 M 列共计 N×M 个摊 点组成。虽然摊点种类繁多,不过 cl 只对其中的一部分摊点感兴趣,比如章鱼烧、苹果糖、 棉花糖、原创 2016-11-04 12:09:39 · 431 阅读 · 0 评论 -
【tyvj1052】【树状dp】没有上司的舞会
描述Ural大学有N个职员,编号为1~N。他们有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。每个职员有一个快乐指数。现在有个周年庆宴会,要求与会职员的快乐指数最大。但是,没有职员愿和直接上司一起与会。输入格式第一行一个整数N。(1接下来N行,第i+1行表示i号职员的快乐指数Ri。(-128接下来N-1行,每行输入一对整数L,K原创 2016-10-31 15:21:03 · 413 阅读 · 0 评论 -
【树形dp】一些例题
SGU 134 题目链接: http://acm.sgu.ru/problem.php?contest=0&problem=134题意: 求一个数的重心,即把这个点去掉后,剩余几个连通分量中点最多的那个连通分量点最少。思路:跑一遍树形dp得到每一个节点为根节点的子树节点数sum[i],对于有n个点的树,去掉一个节点后形成了两个连通分量:1、sum[i]个i节点的子树原创 2016-11-02 07:34:39 · 474 阅读 · 0 评论 -
【tyvj】【dp】最长公共子序列(LCS)
描述一个字符串A的子串被定义成从A中顺次选出若干个字符构成的串。如A=“cdaad",顺次选1,3,5个字符就构成子串"cad",现给定两个字符串,求它们的最长共公子串。输入格式第一行两个字符串用空格分开。 输出格式最长子串的长度。 思路#include #include #include #include #define INF 0xf原创 2016-11-02 11:58:07 · 598 阅读 · 0 评论 -
【tyvj】【dp】回文词(IOI2000)
描述 回文词是一种对称的字符串。也就是说,一个回文词从左到右与从右到左读,得到的结果应该是一样的。由此,可以这样来说,如果我们任意给定一个字符串,通过插入若干个字符,都可以变成一个回文词。现在你的任务是编一程序,求出将给定的字符变成回文词所需插入的最少的字符数。比如,对字符串“Ab3bd”,在插入两个字符之后就可以变成一个回文词:“dAb3bAd”或者“Adb3bdA”。可以看出,插入两原创 2016-11-02 12:49:33 · 1216 阅读 · 0 评论 -
【tyvj】【dp】合唱队型
描述 N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK, 则他们的身高满足T1Ti+1>…>TK(1 你的任务是,已知所有N位同学的身高,计算最少需要几位同学出列,可以使得剩下的同学排成合唱队形。输原创 2016-11-02 15:05:41 · 427 阅读 · 0 评论 -
【tju】【dp】调整队形
问题描述学校艺术节上,规定合唱队要参加比赛,各个队员的衣服颜色不能很混乱:合唱队员应排成一横排,且衣服颜色必须是左右对称的。 例如:“红蓝绿蓝红”或“红蓝绿绿蓝红”都是符合的,而“红蓝绿红”或“蓝绿蓝红”就不符合要求。 合唱队人数自然很多,仅现有的同学就可能会有3000个。老师希望将合唱队调整得符合要求,但想要调整尽量少,减少麻烦。以下任一动作认为是一次调整: 1、在队伍左或右边加一个人(衣服原创 2016-11-02 16:16:08 · 566 阅读 · 0 评论 -
【tyvj】【区间dp】石子合并
【问题描述】在一个操场上摆放着一行共n堆的石子。现要将石子有序地合并成一堆。规定每次只能选相邻的两堆合并成新的一堆,并将新的一堆石子数记为该次合并的得分。请编辑计算出将n堆石子合并成一堆的最小得分和将n堆石子合并成一堆的最大得分。【输入文件】输入第一行为n(n<1000),表示有n堆石子,第二行为n个用空格隔开的整数,依次表示这n堆石子的石子数量(<=1000)【输出文件】输出将n堆石子合并成一堆的原创 2016-11-02 16:34:02 · 362 阅读 · 0 评论 -
【hdu】【线段树入门】Just a Hook
Problem DescriptionIn the game of DotA, Pudge’s meat hook is actually the most horrible thing for most of the heroes. The hook is made up of several consecutive metallic sticks which are of the same le原创 2016-11-07 10:28:32 · 307 阅读 · 0 评论 -
【vijos】【拓扑排序】拓扑编号
描述H国有n个城市,城市与城市之间有m条单向道路,满足任何城市不能通过某条路径回到自己。 现在国王想给城市重新编号,令第i个城市的新的编号为a[i],满足所有城市的新的编号都互不相同,并且编号为[1,n]之间的整数。国王认为一个编号方案是优美的当且仅当对于任意的两个城市i,j,如果i能够到达j,那么a[i]应当格式输入格式第一行读入n,m,表示n个城市,m条有向路径。 接下来读原创 2016-11-07 18:25:14 · 612 阅读 · 0 评论 -
【vijos】【二分图最大匹配】银翼の舞
描述怪盗基德如约来到OIBH组织的大门,却发现OIBH组织的大门紧闭。而两旁两个小门则打开着。基德仔细观察之后发现了一些端倪:这两个小门门框上都装着红外线扫描器,能够对通过的物体作出反应。为了对付红外线扫描器,基德能够驱使他的滑翔翼高速飞行制造出N-1个幻影。但由于飞行时速度的不同,创造出的幻影速度也不同。两个幻影之间或幻影与基德之间若速度差距超过k,就会被红外线扫描器识别出来。因此这两个幻影(或幻原创 2016-11-09 22:00:03 · 335 阅读 · 0 评论 -
【vijos】【树形dp】佳佳的魔法药水
描述得到一种药水有两种方法:可以按照魔法书上的指导自己配置,也可以到魔法商店里去买——那里对于每种药水都有供应,虽然有可能价格很贵。在魔法书上有很多这样的记载:1份A药水混合1份B药水就可以得到1份C药水。(至于为什么1+1=1,因为……这是魔法世界)好了,现在你知道了需要得到某种药水,还知道所有可能涉及到的药水的价格以及魔法书上所有的配置方法,现在要问的就是:1.最少花多少钱可以配制成功这种珍贵的原创 2016-11-09 20:50:49 · 328 阅读 · 0 评论 -
【poj】【费用限制最短路】ROADs
题意每条路有一个长度和一个花费,在花费限制内求从1 到n的最短路。分析只要能走到(有道路相连并且花费小于限制)就加入队列,队列中以距离为第一关键字,花费为第二关键字排序。代码#include <cstdio>#include <cstring>#include <vector>#include <queue>#include <algorithm>#define maxn 10100#原创 2016-11-09 12:55:05 · 439 阅读 · 0 评论 -
【vijos】【最短路变式】遭遇战
描述今天,他们在打一张叫DUSTII的地图,万恶的恐怖分子要炸掉藏在A区的SQC论坛服务器!我们SQC的人誓死不屈,即将于恐怖分子展开激战,准备让一个人守着A区,这样恐怖分子就不能炸掉服务器了。(一个人就能守住??这人是机械战警还是霹雳游侠?) 但是问题随之出现了,由于DustII中风景秀丽,而且不收门票,所以n名反恐精英们很喜欢在这里散步,喝茶。他们不愿意去单独守在荒无人烟的A区,在指挥官的一再原创 2016-11-09 08:50:31 · 377 阅读 · 0 评论 -
【vijos】【建反图最短路】最优贸易
描述C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个 城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分 为双向通行的道路,双向通行的道路在统计条数时也计为 1 条。 C 国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价 格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。原创 2016-11-09 07:35:00 · 223 阅读 · 0 评论