自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(86)
  • 收藏
  • 关注

原创 c语言积分赛第五题(递归)

#include<stdio.h>#include<string.h>int cnt=0;int bool[531443];void dfs(int dep,int lc,int a[]){ if(dep==6){ if(bool[a[1]]==0) {cnt++;bool[a[1]]=1;return;} else return; } int i,...

2019-12-09 21:02:57 229

原创 【SCOI2005】骑士精神(Knight)(DFS+迭代加深)

题目 在一个5×5的棋盘上有12个白色的骑士和12个黑色的骑士, 且有一个空位。在任何时候一个骑士都能按照骑士的走法(它可以走到和它横坐标相差为1,纵坐标相差为2或者横坐标相差为2,纵坐标相差为1的格子)移动到空位上。 给定一个初始的棋盘,怎样才能经过移动变成如下目标棋盘: 为了体现出骑士精神,他们必须以最少的步数完成任务。 输入格式 第一行有一个正

2017-11-09 20:57:54 311

原创 NOIP2017复习 解密游戏(trie+dp)

题目大意:给定一个长为n的字符串和m个小字符串,求最少需要多少个小字符串可以构成大的字符串题解将每个小字符串先预处理一遍,然后依次枚举长为n的字符串的每个位置代码#include<iostream>#include<cstdio>#include<algorithm>#include<cstring>#include<cmath>#include<queue>using namespac

2017-11-09 10:23:29 293

原创 小鸟(单调队列加DP)

有一排n棵树,第i棵树的高度是Di。 一群小鸟要从第1棵树飞到第n棵树去玩。 不同小鸟的飞跃能力不同,第i只小鸟的飞跃能力为ki,表示如果当前它位于第x号树,那么它可以飞到x+1,x+2,……,x+ki号树上去,也就是一次可以飞过ki棵树。 如果小鸟飞到一棵不矮于当前树的树,那么他的劳累值会+1,否则不会。 小鸟们希望最小化劳累值,请你计算每只小鸟达到终点所需最小劳累值。题解考虑到当前

2017-11-09 07:51:40 444

原创 2017NOIP模拟赛 葡萄(状压DP)

问题描述 葡萄架上有n 串葡萄,每串葡萄都有一个价值。有一只狐狸想偷走一些。 不过她规定,任意连续的k 串葡萄中,最多选b 串,最少选a 串。 现在,狐狸要选出一些葡萄,使得狐狸得到的葡萄的价值和,与剩余葡萄的 价值的和,差值最大。输入格式 第一行四个整数n,k,a,b 一行N 个整数表示每串葡萄的价值输出格式 一个整数表示答案样例输入2 1 0 1 2 -2样例输出4题解

2017-11-08 16:50:20 540

原创 2017NOIP模拟赛 松鼠的新家(树上差分)

【題目描述】 松鼠的新家是一棵树,前几天刚刚装修了新家,新家有n个房间,并且有n-1根树枝连接,每个房间都可以相互到达,且俩个房间之间的路线都是唯一的。天哪,他居然真的住在“树”上。松鼠想邀请小熊维尼前来参观,并且还指定一份参观指南,他希望维尼能够按照他的指南顺序,先去A1,再去A2,……,最后到An,去参观新家。 可是这样会导致维尼重复走很多房间,懒惰的维尼不听地推辞。可是松鼠告诉他

2017-11-07 21:53:14 493

原创 2017模拟赛 现代艺术(二维差分)

何老板是一个现代派的艺术家。他在一块由n*n的方格构成的画布上作画。一开始,所有格子里的数字都是0。 何老板作画的方式很独特,他先后给N^2个子矩阵涂上了颜色,每次都是从1到N^2这些数字中选一个给对应矩阵全部填上该数字。比如: 第1步,他选数字2填在了一个子矩阵上。如下图: 2 2 2 0 2 2 2 0 2 2 2 0 0 0 0 0 第2步,他用数字7填在了一个子矩

2017-11-07 16:00:06 701

原创 2017模拟赛 deep dark fantasy(网络流)

题目题目大意:给出m条有两个可选择终点的有向边与n个点,求当满足每个点的入度与出度相同时对于每个边的选择情况题解考虑到入度和出度相等所以从源点向每个点连一条容量为1的边再根据加边的连接情况依次向后面的点连容量为一的点,最后在从每个点向终点连一条容量为出度的边。代码#include<cstdio>#include<algorithm>#include<cmath>#include<iostrea

2017-11-06 18:53:06 1812

原创 2017模拟赛 密室(多维最短路)

二维最短路记录 表示当前状态的最小情况 注意初始情况代码#include<cstdio>#include<algorithm>#include<cmath>#include<iostream>#include<cstring>#include<queue>using namespace std;#define maxn 7001#define inf 1e9int n,m,k;

2017-11-05 16:14:21 278

原创 NOIP2017模拟赛 龙珠(dp+单调队列优化)

问题描述 你得到了一个龙珠雷达,它会告诉你龙珠出现的时间和地点。    龙珠雷达的画面是一条水平的数轴,每一个窗口时间,数轴的某些点上会出现同一种龙珠,每当你获得其中一颗龙珠,其它龙珠就会消失。下一个窗口时间,数轴上又会出现另一种龙珠。总共有n个窗口时间,也就是总共有n种龙珠。   假设你会瞬间移动,你从数轴的x点移动到y点,耗时0秒,但是需要耗费|x-y|的体力。同时,挖出一颗龙珠

2017-11-03 21:37:29 573

原创 2017模拟赛 宾馆(数学+搜索)

问题描述 何老板开了一间宾馆,共n个房间,通过n-1双向道路相连,每条道路的长度相同,任意两个房间都有且仅有一条路径可以到达。有三名同行的顾客需要各开一个房间。三个客人要求住的房间要互不相同,且三个房间两两距离相同。 何老板想知道,有多少种方案能让他们满意?输入格式 第一行一个数n。 接下来n-1行,每行两个数x,y,表示x和y之间有一条道路相连。输出格式 一个整

2017-11-03 11:05:28 261

原创 NOIP2017模拟赛 k-斐波(数学+欧几里得+矩阵乘法)

水题 复习 扩欧&矩阵乘法 扩欧注意最终取模! 关于数学的题如果没有超过空间那么尽量开longlong代码#include<iostream>#include<algorithm>#include<cstdio>#include<queue>#include<cmath>#include<cstring>using namespace std;#define int long lo

2017-11-02 21:55:24 916

原创 NOIP2017模拟赛 好线路(dp)

问题描述nodgd在旅游。现在,nodgd要从城市的西北角走到东南角去。这个城市的道路并不平坦,nodgd希望找出一条相对比较好走的路。 nodgd事先已经得到了这个城市的地图。地图上这个城市是一个n×m的矩形,nodgd现在站在坐标为(1,1)的位置,需要到达坐标为(n,m)的位置。这张地图上用非负整数标记了每个整数坐标点的海拔,坐标为(x,y)的位置的海拔是ℎ(x,y)。nodgd希望找出一条

2017-11-02 16:51:08 615

原创 P3847马云(贪心)

问题描述 Mr_he 因讨厌马云而彻底放弃网购,他的日常用品都要到商场去购买,而且必须付现金。但是现 金购买,经常会遇到找零的问题,那么现在请你帮助他解决这样一个问题: 现在 Mr_he 手上有 n 种不同面值的硬币,每种硬币有无限多个。为了方便购物,他希望带尽量 少的硬币,但是要能组合出 1 到 m 之间的任意值。输入格式 第一行为两个整数:m 和 n,他们的意义如题目描述。

2017-10-31 12:16:55 861

原创 P3500【2015多校联训6】独立集(dp)

题目大意: 求一数列的最大上升子序列+必定存在此最大上升子序列的点题解如果一个点必定存在与最长上升子序列中,那么必须满足两个条件:1.该点存在于最长上升子序列中。2.通过此点的最长上升子序列长度唯一。但此题由于数据范围为1000005,所以常规n方求最长上升子序列的方法肯定不行,那么就考虑用树状数组维护小于当前值的最大上升子序列数即可。如何判断一个点是否在最长上升子序列中?从前后各扫一遍如果前后的最

2017-10-30 19:00:14 218

原创 P3501NOIP2017模拟赛【2015多校联训6】益智游戏(最短路+top+dp)

问题描述 小 P 和小 R 在玩一款益智游戏。游戏在一个正权有向图上进行。 小 P 控制的角色要从 A 点走最短路到 B 点,小 R 控制的角色要从 C 点走最短路到 D 点。 一个玩家每回合可以有两种选择,移动到一个相邻节点或者休息一回合。 假如在某一时刻,小 P 和小 R 在相同的节点上,那么可以得到一次特殊奖励,但是在每 个节点上最多只能得到一次。 求最多能获得多少次特殊奖励。

2017-10-30 18:53:11 394

原创 P3499【2015多校联训6】密码(链表模拟)

问题描述假发通过了不懈的努力,得到了将军家门锁的密码(一串小写英文字母)。但是假发被 十四和猩猩他们盯上了,所以假发需要把密码传递出去。因为假发不想十四他们发现几松门 前贴的小纸条就是将军家的密码,所以他加密了密码(新八:听起来有点诡异)。加密方法 如下:随机地,在密码中任意位置插入随机长度的小写字符串。 不过,假发相信银桑和他那么多年小学同学,一定能猜中密码是什么的(新八:银桑什 么时候成攮夷志士

2017-10-30 15:36:57 229

原创 汉诺塔+

真难则反考虑从最终状态考虑起走,以此满足当前的块所放的位置代码 #include<stdio.h> #include<algorithm> #include<cmath> #include<cstdio> #include<cstring> #include<queue> #include<iostream> using namespace std; #define int long

2017-10-29 16:04:50 185

原创 2017模拟赛 经营与开发(dp费用提前计算)

问题描述 你驾驶着一台带有钻头(初始能力值w)的飞船,按既定路线依次飞过n个星球。 星球笼统的分为2类:资源型和维修型。(p为钻头当前能力值) 资源型:含矿物质量a[i],若选择开采,则得到a[i]p的金钱,之后钻头损耗k%,即p=p(1-0.01k) 维修型:维护费用b[i],若选择维修,则支付b[i]p的金钱,之后钻头修复c%,即p=p(1+0.01c)

2017-10-28 22:01:36 497

原创 NOIP2017模拟赛 不等数列(dp)

问题描述 将1到n任意排列,然后在排列的每两个数之间根据他们的大小关系插入“>”和“<”。问在所有排列中,有多少个排列恰好有k个“<”。答案对2012取模。输入格式 第一行2个整数n,k。输出格式 一个整数表示答案。样例输入5 2样例输出66题解f[i][j]=(f[i][j]+f[i-1][j-1](i-j)+f[i-1][j](j+1))%2012;#include<stdio

2017-10-26 22:01:40 614

原创 NOIP2017模拟赛 约瑟夫游戏(数学乱搞)

问题描述Y JC 很喜欢玩游戏,今天他决定和朋友们玩约瑟夫游戏。 约瑟夫游戏的规则是这样的:n 个人围成一圈,从1 号开始依次报数,当报到m 时,报1、2、…、m-1 的 人出局,下一个人接着从1 开始报,保证(n−1)是(m−1)的倍数。最后剩的一个人获胜。 Y JC 很想赢得游戏,但他太笨了,他想让你帮他算出自己应该站在哪个位置上。输入格式第一行包含两个整数n 和m,表示人数与数出的人数输出格式

2017-10-26 21:20:22 355

原创 P3487【2015多校联训5】病毒分裂

问题描述 A 学校的实验室新研制出了一种十分厉害的病毒。由于这种病毒太难以人工制造了,所以专家们在一开始只做出了一个这样的病毒。 这个病毒被植入了特殊的微型芯片,使其可以具有一些可编程的特殊性能。最重要的一个性能就是,专家们可以自行设定病毒的分裂能力K,假如现在有x 个病毒,下一个分裂周期将会有Kx 个一模一样的病毒。你作为该实验室的数据分析员,需要统计出在分裂到第N 个周期前

2017-10-26 18:58:26 288

原创 P3479【2015多校联训2】最短路径(多维dp)

问题描述 平面内给出 n 个点,记横坐标最小的点为 A,最大的点为 B,现在小 Y 想要知道在 每个点经过一次(A 点两次)的情况下从 A 走到 B,再回到 A 的最短路径。但他是个强 迫症患者,他有许多奇奇怪怪的要求与限制条件: 1.从 A 走到 B 时,只能由横坐标小的点走到大的点。 2.由 B 回到 A 时,只能由横坐标大的点走到小的点。 3.有两个特殊

2017-10-25 18:01:43 457

原创 2017NOIP模拟赛 软件安装(tarjan缩点+树形dp)

问题描述 现在我们的手头有N个软件,对于一个软件i,它要占用Wi的磁盘空间,它的价值为Vi。我们希望从中选择一些软件安装到一台磁盘容量为M的计算机上,使得这些软件的价值尽可能大(即Vi的和最大)。 但是现在有个问题:软件之间存在依赖关系,即软件i只有在安装了软件j(包括软件j的直接或间接依赖)的情况下才能正确工作(软件吗i依赖软件j)。幸运的是,一个软件最多依赖另外一个软件。如果一个软件不

2017-10-24 21:00:48 294

原创 NOIP2017模拟赛 大都市(dfs序+树状数组)

O大都市 时间限制 : - MS 空间限制 : 165536 KB 评测说明 : 2s 问题描述在经济全球化浪潮的影响下,习惯于漫步在清晨的乡间小路的邮递员Blue Mary也开始骑着摩托车传递邮件了。不过,她经常回忆起以前在乡间漫步的情景。昔日,乡下有依次编号为1..n的n个小村庄,某些村庄之间有一些双向的土路。从每个村庄都恰好有一条路径到达村庄1(即比特堡)。并且,对于每个村庄,它到

2017-10-24 19:14:34 328

原创 NOIP2017复习题(dfs序)

问题描述 何老板的公司有n名员工,编号1到n。除了何老板以外,每个员工都有且仅有一名直接上司。每个员工可能有0个或多个直接下属。 公司采取等级制度,等级越大的员工工资越低。何老板的工资最高,他的等级为1。每个员工的等级数都比他的直接上司的等级数大1。 何老板向你提问,i号员工管辖的部门中,等级为k的有多少个人(包括i本人)? i号员工管辖的部

2017-10-23 16:53:37 631

原创 NOIP2017复习题 上课(dp)

问题描述 学校里有许多节课,第 i 节课从 ti 时刻开始上,上课的时间为 si,如果上了第 i 节课,你的做题能力将变成 ci(是能力的数值,不是能力的增长值)。有 N 类作业,每类作业数量不限,每类作业完成一份所需要的时间为 ai,做某类作业需要的做题能力达到 qi(>=qi) 才能完成。在每个时刻你可以选择上课、休息、做作业,如果选择上课则必须上完整节课,如果选择做作

2017-10-22 21:57:27 559

原创 NKOJ训练赛 过路费(最短路)

问题描述 有一天你来到了一个奇怪的国家,它有 N 个城市,城市之间有若干条双向道路连接,每条道路都有一定的费用,经过城市也要一定的费用。从一个城市到达另一个城市的总花费为路径上费用最大的城市费用(包括起点和终点)加上路径上所有的道路的费用。给出 Q 次询问,分别回答每次询问中两城市间的最少花费。保证城市之间可以互达。输入格式 第一行两个整数 N,M,表示有 N 个城市 M 条道

2017-10-22 19:52:04 508

原创 P蒜头君当大厨(差分约束)

问题描述 蒜头君苦练厨艺,终于成为了某高档酒店的大厨。 每天上班,蒜头君会被要求做 nnn 份菜。既然是高档酒店,那么客人们当然是很讲究的,尤其对于上菜的时间有很多要求。客人们的要求被分成下列四种: 菜品 a 的上菜时间必须比菜品 b的上菜时间早 d 分钟或者更早。 菜品 a的上菜时间必须比菜品 b的上菜时间迟 d分钟或者更迟。 菜品 a 的上菜时间在 d 分钟以后(包含 d

2017-10-22 18:31:05 335

原创 P3862数字对

问题描述 对于一个数字对(a,b),我们可以通过一次操作将其变为新数字对(a+b,b)或(a, a+b)。 给定一正整数 n,问最少需要多少次操作可将数字对(1,1)变为一个数字对, 该数字对至少有一个数字为 n。输入格式 第一行一个正整数 n输出格式 一个整数表示答案样例输入5样例输出3题解GCD依次求值代码#include<stdio.h>#include<algori

2017-10-19 22:01:17 927

原创 P3860分队问题(分组dp)

问题描述 给定 n 个选手,将他们分成若干只队伍。其中第 i 个选手要求自己所属的队 伍的人数大等于 a[i]人。 在满足所有选手的要求的前提下,最大化队伍的总数。 注:每个选手属于且仅属于一支队伍。输入格式 第一行一个整数 n,表示人数。 以下 n 行,每行一个整数表示 a[i]。输出格式 输出队伍总数的最大值。数据保证有解。题解 分组dp f[i]=s[i-a

2017-10-19 21:43:46 461

原创 2017NOIP模拟赛 D【思维】作诗(分块)

问题描述 神犇SJY虐完HEOI之后给傻×LYD出了一题: SHY是T国的公主,平时的一大爱好是作诗。 由于时间紧迫,SHY作完诗之后还要虐OI,于是SHY找来一篇长度为N的文章,阅读M次,每次只阅读其中连续的一段[l,r],从这一段中选出一些汉字构成诗。因为SHY喜欢对偶,所以SHY规定最后选出的每个汉字都必须在[l,r]里出现了正偶数次。而且SHY认为选出的汉字的种类数(两个一样的汉字

2017-10-18 19:15:42 490 1

原创 NOIP2017模拟赛 【HNOI2010】弹飞绵羊(分块)

问题描述 某天,Lostmonkey发明了一种超级弹力装置,为了在他的绵羊朋友面前显摆,他邀请小绵羊一起玩个游戏。游戏一开始,Lostmonkey在地上沿着一条直线摆上n个装置,每个装置设定初始弹力系数ki,当绵羊达到第i个装置时,它会往后弹ki步,达到第i+ki个装置,若不存在第i+ki个装置,则绵羊被弹飞。绵羊想知道当它从第i个装置起步时,被弹几次后会被弹飞。为了使得游戏更有趣,Lostmo

2017-10-17 23:27:33 171

原创 模拟赛 J跳(组合数)

邪教喜欢在各种各样空间内跳。现在,邪教来到了一个二维平面。在这个平面内,如果邪教当前跳到了(x,y),那么他下一步可以选择跳到以下4个点:(x-1,y), (x+1,y), (x,y-1), (x,y+1)。而每当邪教到达一个点,他需要耗费一些体力,假设到达(x,y)需要耗费的体力用C(x,y)表示。对于C(x,y),有以下几个性质:1、若x=0或者y=0,则C(x,y)=1。2、若x>0且y>0,

2017-10-17 21:53:40 178

原创 P2064【SCOI2009 day1】windy数(数位dp)

问题描述windy定义了一种windy数。 不含前导零且相邻两个数字之差至少为2的正整数被称为windy数。比如31, 135, 13579都是windy数。单独一个数字也算windy数比如1,2,3,…,9都是。 windy想知道,在A和B之间,包括A和B,总共有多少个windy数?输入格式两个整数,A B。输出格式一个整数样例输入【输入样例一】 1 10【输入样例二】 25 50样例输出

2017-10-16 21:36:27 261

原创 NKOJ4191中山纪念中学 Trie(状压dp)

问题描述:字母(Trie)树是一个表示一个字符串集合中所有字符串的前缀的数据结构,其有如下特征:1.树的每一条边表示字母表中的一个字母 2.树根表示一个空的前缀 3.树上所有其他的节点都表示一个非空前缀,每一个节点表示的前缀为树根到该节点的路径上所有字母依次连接而成的字符串。 4.一个节点的所有出边(节点到儿子节点的边)中不存在重复的字母。      现在Matej手上有N个英文

2017-10-15 23:29:22 314

原创 P4253牛的染色体(二分答案)

问题描述约翰有N头斑点奶牛和N头黑牛。约翰研究了这些奶牛的基因组。每头奶牛的基因组都有M个字符来表示,表示基因的字符分别是A,C,G,T。例如,当N=3,M=8是,奶牛们的基因如下:编号 1 2 3 4 5 6 7 8 斑牛1:A A T C C C A T 斑牛2:A C T T G C A A 斑牛3:G G T C G C A A黑牛1:A C T C C C A

2017-10-11 22:51:12 468

原创 P3915公共串

问题描述给出几个由小写字母构成的单词,求它们最长的公共子串的长度。任务:l 读入单词l 计算最长公共子串的长度l 输出结果输入格式第一行是整数 n,1<=n<=5,表示单词的数量。 接下来n行每行一个单词,只由小写字母组成,单词的长度至少为1,最大为2000。输出格式仅一行,一个整数,最长公共子串的长度。题解暴力求n个字符串的最长公共子串 将除其他字符串

2017-10-11 18:33:44 209

原创 P3851航运调度

问题描述某海域是国际海运枢纽,非常繁忙,N艘船只在航行。航运管理中心一直担心发生船只相撞事件。所以他们想知道,从现在开始,到哪一个时刻,这N艘船两两间的最大距离将达到最小。请你算出这个时刻,并求出这个最小距离。 所有船只都沿直线航行,没有两艘船的前进方向和速度是相同的。输入格式第一行,一个整数N(N<=300) 接下来N行,每行四个整数Xi,Yi,VXi,VYi。(Xi,Yi)表示i号船只

2017-10-07 16:20:35 248

原创 P3802不死(二分答案+状压dp验证)

子曰:不睡觉就会死。深信此话的LYM决定在本学期接下来的n节课上考虑一下睡觉的问题。LYM认为如果在一堂课上睡觉,身体的疲劳值就会下降,反之如果在一堂课上不睡觉,身体的疲劳值就会上升。而身体对疲劳的忍耐是有限度的,一旦疲劳值超过限度,LYM就会go die,于是他不得不在一些课上睡觉。注意,LYM的疲劳值只会在一节课上完后发生改变,如果上完最后一节课后,疲劳值超出了限度,LYM仍然会go die。不

2017-10-07 16:17:20 353

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除