DP
luoyuef
这个作者很懒,什么都没留下…
展开
-
膜拜 解题报告
洛谷P1564题目描述神牛有很多…当然…每个同学都有自己衷心膜拜的神牛.某学校有两位神牛,神牛甲和神牛乙。新入学的N 位同学们早已耳闻他们的神话。所以,已经衷心地膜拜其中一位了。现在,老师要给他们分机房。但是,要么保证整个机房都是同一位神牛的膜拜者,或者两个神牛的膜拜者人数差不超过M。另外,现在N位同学排成一排,老师只会把连续一段的同学分进一个机房。老师想知原创 2017-10-18 19:10:31 · 1565 阅读 · 0 评论 -
NOIP2016D2T3 愤怒的小鸟
题目描述 Kiana最近沉迷于一款神奇的游戏无法自拔。 简单来说,这款游戏是在一个平面上进行的。 有一架弹弓位于(0,0)处,每次Kiana可以用它向第一象限发射一只红色的小鸟,小鸟们的飞行轨迹均为形如y=ax^2+bxy=ax2+bx的曲线,其中a,b是Kiana指定的参数,且必须满足a<0。 当小鸟落回地面(即x轴)时,它就会瞬间消失。 在游戏的某个关卡里,平面的第一象限中有n只绿色的原创 2017-11-03 09:21:35 · 291 阅读 · 0 评论 -
线段覆盖P1791
```//线段覆盖:洛谷1791//贪心,这道题我们先把线段按右端点排序方便处理,然后每次都选取右端点坐标最小的,这样选下来一定是最多线段。#include<bits/stdc++.h>using namespace std;const int MAXN=10086;struct xd{ int st,js;}x[MAXN];bool cmp(xd a,xd b){ ret原创 2017-10-26 13:48:50 · 176 阅读 · 0 评论 -
沙子合并、石子合并、能量项链解题报告。
Task1 沙子合并: 设有N堆沙子排成一排,其编号为1,2,3,…,N(N< =300)。每堆沙子有一定的数量,可以用一个整数来描述,现在要将这N堆沙子合并成为一堆,每次只能合并相邻的两堆,合并的代价为这两堆沙子的数量之和,合并后与这两堆沙子相邻的沙子将和新堆相邻,合并时由于选择的顺序不同,合并的总代价也不相同,如有4堆沙子分别为 1 3 5 2 我们可以先合并1、2堆,原创 2017-10-08 19:27:08 · 456 阅读 · 0 评论 -
引水入城解题报告
题目来源 NOIP2010提高组 T4; 这个题好久以前就做过了0.0当时写了个爆搜40分。今天拿出来重新做AC了。 题目太长就不在这里放出来了。这题第一问非常简单,不可能的情况写一个bfs用floodfill找一下最后一行有哪个点没有被染色即可。第二问仍然可以用BFS来做。对于1个点出发的路径,在最后一行一定会覆盖一个区间(包括只有1个点),证明如下:如果某一个点出发的路径被分割(不为连续的区原创 2017-10-26 15:43:34 · 261 阅读 · 0 评论 -
NOIP2009 T3最优贸易
题目描述 C 国有 n 个大城市和 m 条道路,每条道路连接这 n 个城市中的某两个城市。任意两个城市之间最多只有一条道路直接相连。这 m 条道路中有一部分为单向通行的道路,一部分为双向通行的道路,双向通行的道路在统计条数时也计为 1 条。 C 国幅员辽阔,各地的资源分布情况各不相同,这就导致了同一种商品在不同城市的价格不一定相同。但是,同一种商品在同一个城市的买入价和卖出价始终是相同的。 商原创 2017-11-06 14:53:01 · 185 阅读 · 0 评论 -
篮球队
原题: 试题4 :篮球队(共10个测试点,每个点2分) 源代码:team.c / team.cpp / team.pas / team.bas 输入文件:team.in 输出文件:team.out 【问题描述】 小红的班级里有n名爱打篮球的同学。已知这n名同学的身高。现在体育老师要从他们当中选择m名同学组成一支篮球队,老师希望蓝球队的平均身高不小于h。 问:原创 2017-11-22 14:42:23 · 1253 阅读 · 0 评论 -
NOIP2014飞扬的小鸟
好久没写博客啦。发几篇最近做过的题。这道题显然是背包,选择跳几次或不跳。暴力打背包是70分。 如果填表法:我们发现转移的时候如果不考虑下降,那么上升的可以同列转移 (f【i】【j】转移到f【i】【j+k】)所以先转移上升的再转移下降的,最后填充非法情况。对于刷表法:会刷到重复的状态,如果值不优,就停止刷表,因为一定不会更优了。最后WA的原因——没处理好越界后高度维持上限的问题。int gg=(m原创 2017-12-20 14:44:05 · 220 阅读 · 0 评论 -
[AHOI2009]中国象棋
题目描述 这次小可可想解决的难题和中国象棋有关,在一个N行M列的棋盘上,让你放若干个炮(可以是0个),使得没有一个炮可以攻击到另一个炮,请问有多少种放置方法。大家肯定很清楚,在中国象棋中炮的行走方式是:一个炮攻击到另一个炮,当且仅当它们在同一行或同一列中,且它们之间恰好 有一个棋子。你也来和小可可一起锻炼一下思维吧! 输入格式: 一行包含两个整数N,M,之间由一个空格隔开。 输出格式: 总原创 2017-12-04 15:56:56 · 179 阅读 · 0 评论 -
有线电视网
某收费有线电视网计划转播一场重要的足球比赛。他们的转播网和用户终端构成一棵树状结构,这棵树的根结点位于足球比赛的现场,树叶为各个用户终端,其他中转站为该树的内部节点。 从转播站到转播站以及从转播站到所有用户终端的信号传输费用都是已知的,一场转播的总费用等于传输信号的费用总和。 现在每个用户都准备了一笔费用想观看这场精彩的足球比赛,有线电视网有权决定给哪些用户提供信号而不给哪些用户提供信号。 写原创 2017-12-05 11:36:38 · 186 阅读 · 0 评论 -
背包K优解
我今天智商可能不太够用。。。 背包K优解,我们考虑01背包最优解如何转移。在两种状态中取最优的。 对于k优解,我们可以多开一维记录。 转移的时候,我们开两个指针变量。记录现在哪个优,然后像归并排序一样往一个tmp数组里丢(不能现在改变值)。然后就没什么了吧。。但我们因为要装满所以数组初始化为极小值,不能重复,所以只有f 0 1是0. 时间复杂度多了一层枚举k优。O(nmk)#include<原创 2017-12-22 10:17:07 · 183 阅读 · 0 评论 -
RMQ ST表学习笔记
ST表可以解决静态区间极值的问题。 倍增DP的思想。 f i j的i表示从i开始的2^j长度区间的极值。 如何转移呢?对于一段长度为4的区间可以拆成2个2的。一个8拆成4和4. 所以nlogn转移。 拆成前后两段小区间的极值。查询的时候预处理下log值。 一段区间的极值等于前面左端开始log长度与从右端开始log长度。#include<bits/stdc++.h>using names原创 2017-12-05 17:17:44 · 174 阅读 · 0 评论 -
[ZJOI2016]小星星
强烈谴责毒瘤出题人K****出了题不会部分分 暴力1:O(n^n)。考虑每一个点是否合法。暴力dfs,判断点是否合法。选完n个点后ans++。 暴力2:考虑dp,首先保证方案合法性。dp[i][j]表示的是以i为根的子树中,使用了原图中那些点的状态。 (j是二进制串) 然后先dfs一遍预处理出初始情况,dp【i】【j】=1. 再dfs时暴力合并。枚举初始状态的子集、从初始状态(子集) 转移原创 2017-12-26 10:49:29 · 378 阅读 · 0 评论 -
多重背包
有N种物品和容量为V的背包,若第i种物品,容量为v[i],价值为w[i],共有n[i]件。怎样装才能使背包内的物品总价值最大?最暴力的方法: 拆成∑n∑n\sum n 个物品 复杂度O( c∑n )O( c∑n ) O(\ c\sum n \ )二进制拆分:用2k2k 2^{k} 次方且最大的那个不超过n 表示所有的数,可证明最多有logn+1个...原创 2018-04-03 19:09:17 · 142 阅读 · 0 评论 -
Bird
有一棵 nnn 个点的树。iii 的父亲为 ⌊i/2⌋⌊i/2⌋ \lfloor{i/2\rfloor}。(i>=2)(i>=2)(i>=2) 每个点有一个承载上限,给出mmm个点的位置。 输出前 iii个点 (1<=i<=m)(1<=i<=m)(1n,m<=3∗105n,m<=3∗105n,mSSS 连初始位置容量为初始点个数费用0,每个点连 ...原创 2018-04-12 16:44:20 · 217 阅读 · 0 评论 -
书的复制
题目描述 现在要把m本有顺序的书分给k给人复制(抄写),每一个人的抄写速度都一样,一本书不允许给两个(或以上)的人抄写,分给每一个人的书,必须是连续的,比如不能把第一、第三、第四本书给同一个人抄写。 现在请你设计一种方案,使得复制时间最短。复制时间为抄写页数最多的人用去的时间。 输入格式: 第一行两个整数m,k;(k≤m≤500) 第二行m个整数,第i个整数表示第i本书的页数。 输出格式原创 2017-11-02 16:23:30 · 274 阅读 · 0 评论 -
最大子树和
小明对数学饱有兴趣,并且是个勤奋好学的学生,总是在课后留在教室向老师请教一些问题。一天他早晨骑车去上课,路上见到一个老伯正在修剪花花草草,顿时想到了一个有关修剪花卉的问题。于是当日课后,小明就向老师提出了这个问题: 一株奇怪的花卉,上面共连有N 朵花,共有N-1条枝干将花儿连在一起,并且未修剪时每朵花都不是孤立的。每朵花都有一个“美丽指数”,该数越大说明这朵花越漂亮,也有“美丽指数”为负数的,说明原创 2017-11-02 13:40:41 · 178 阅读 · 0 评论 -
USACO Corn Fields
以此博客来纪念我做的第一道状压DP题目描述 Farmer John has purchased a lush new rectangular pasture composed of M by N (1 ≤ M ≤ 12; 1 ≤ N ≤ 12) square parcels. He wants to grow some yummy corn for the cows on a number of原创 2017-10-27 12:02:07 · 281 阅读 · 0 评论 -
NOIP 花匠
题目描述花匠栋栋种了一排花,每株花都有自己的高度。花儿越长越大,也越来越挤。栋栋决定把这排中的一部分花移走,将剩下的留在原地,使得剩下的花能有空间长大,同时,栋栋希望剩下的花排列得比较别致。 具体而言,栋栋的花的高度可以看成一列整数h1,h2..hn。设当一部分花被移走后,剩下的花的高度依次为g1,g2..gm,则栋栋希望下面两个条件中至少有一个满足: 条件 A:对于所有g(2i)>g(2i-1原创 2017-11-07 11:41:59 · 403 阅读 · 0 评论 -
SCOI2005 互不侵犯
题目描述 在N×N的棋盘里面放K个国王,使他们互不攻击,共有多少种摆放方案。国王能攻击到它上下左右,以及左上左下右上右下八个方向上附近的各一个格子,共8个格子。 输入格式: 只有一行,包含两个数N,K ( 1 <=N <=9, 0 <= K <= N * N) 输出格式: 所得的方案数ly最可爱啦~ 这题。。想了5分钟,写了10分钟,调了半小时。显而易见 数据范围很小是个状压DP。我们发原创 2017-10-30 08:42:34 · 155 阅读 · 0 评论 -
二叉苹果树
题目描述有一棵苹果树,如果树枝有分叉,一定是分2叉(就是说没有只有1个儿子的结点) 这棵树共有N个结点(叶子点或者树枝分叉点),编号为1-N,树根编号一定是1。 我们用一根树枝两端连接的结点的编号来描述一根树枝的位置。现在这颗树枝条太多了,需要剪枝。但是一些树枝上长有苹果。 给定需要保留的树枝数量,求出最多能留住多少苹果。 输入格式: 第1行2个数,N和Q(1<=Q<= N,1<N<=10原创 2017-11-07 20:10:59 · 285 阅读 · 0 评论 -
NOIP2014 D1T2 联合权值
题目描述 无向连通图G 有n 个点,n - 1 条边。点从1 到n 依次编号,编号为 i 的点的权值为W i ,每条边的长度均为1 。图上两点( u , v ) 的距离定义为u 点到v 点的最短距离。对于图G 上的点对( u, v) ,若它们的距离为2 ,则它们之间会产生Wu×Wv 的联合权值。 请问图G 上所有可产生联合权值的有序点对中,联合权值最大的是多少?所有联合权值之和是多少?这道题。。原创 2017-10-30 13:51:58 · 251 阅读 · 0 评论 -
矩阵取数游戏
题目描述 帅帅经常跟同学玩一个矩阵取数游戏:对于一个给定的n*m的矩阵,矩阵中的每个元素aij均为非负整数。游戏规则如下: 1.每次取数时须从每行各取走一个元素,共n个。m次后取完矩阵所有元素; 2.每次取走的各个元素只能是该元素所在行的行首或行尾; 3.每次取数都有一个得分值,为每行取数的得分之和,每行取数的得分 = 被取走的元素值*2^i,其中i表示第i次取数(从1开始编号); 4.游原创 2017-11-08 11:25:49 · 554 阅读 · 0 评论 -
“访问美术馆”
题目描述 经过数月的精心准备,Peer Brelstet,一个出了名的盗画者,准备开始他的下一个行动。艺术馆的结构,每条走廊要么分叉为两条走廊,要么通向一个展览室。Peer知道每个展室里藏画的数量,并且他精确测量了通过每条走廊的时间。由于经验老到,他拿下一幅画需要5秒的时间。你的任务是编一个程序,计算在警察赶来之前,他最多能偷到多少幅画。 输入输出格式 输入格式: 第1行是警察赶到的时间,以原创 2017-11-08 14:05:54 · 439 阅读 · 2 评论 -
最大子段和
题目描述 给出一段序列,选出其中连续且非空的一段使得这段和最大。 输入输出格式 输入格式: 输入文件maxsum1.in的第一行是一个正整数N,表示了序列的长度。 第2行包含N个绝对值不大于10000的整数A[i],描述了这段序列。 输出格式: 输入文件maxsum1.out仅包括1个整数,为最大的子段和是多少。子段的最小长度为1。这题可以dp来做,a【i】原数组,f【i】表示的是以i原创 2017-10-26 18:38:33 · 4815 阅读 · 0 评论 -
洛谷1137 旅行计划
题目描述小明要去一个国家旅游。这个国家有N个城市,编号为1~N,并且有M条道路连接着,小明准备从其中一个城市出发,并只往东走到城市i停止。 所以他就需要选择最先到达的城市,并制定一条路线以城市i为终点,使得线路上除了第一个城市,每个城市都在路线前一个城市东面,并且满足这个前提下还希望游览的城市尽量多。 现在,你只知道每一条道路所连接的两个城市的相对位置关系,但并不知道所有城市具体的位置。现在对于原创 2017-10-31 11:39:51 · 259 阅读 · 0 评论 -
NOIP2015 D2T2子串
题目描述 有两个仅包含小写英文字母的字符串 A 和 B。现在要从字符串 A 中取出 k 个互不重叠的非空子串,然后把这 k 个子串按照其在字符串 A 中出现的顺序依次连接起来得到一 个新的字符串,请问有多少种方案可以使得这个新串与字符串 B 相等?注意:子串取出 的位置不同也认为是不同的方案。 输入格式: 输入文件名为 substring.in。 第一行是三个正整数 n,m,k,分别表示字符原创 2017-11-09 08:25:58 · 330 阅读 · 2 评论 -
NOIP 2016 D1T3换教室
去年两天的T3都不是很难啊。。但都很恶心!D2T3浮点误差,D1T3浮点数数组初始化我都是很弱的。。 总结一下这道题,方程不难写,但很长,各种分类讨论。记得【i】【0】【1】是不存在的要划掉。注意【i】【0】【0】转移不到需要特判。注意floyd的重边处理。变量千万别写错! 下面是题目和代码: #include<bits/stdc++.h>using namespace std;cons原创 2017-11-09 14:37:15 · 179 阅读 · 0 评论 -
选课
题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习。现在有N门功课,每门课有个学分,每门课有一门或没有直接先修课(若课程a是课程b的先修课即只有学完了课程a,才能学习课程b)。一个学生要从这些课程里选择M门课程学习,问他能获得的最大学分是多少? 输入格式: 第一行有两个整数N,M用空格隔开原创 2017-11-09 18:17:05 · 241 阅读 · 0 评论 -
NOIP2003 加分二叉树
题目描述 设一个n个节点的二叉树tree的中序遍历为(1,2,3,…,n),其中数字1,2,3,…,n为节点编号。每个节点都有一个分数(均为正整数),记第i个节点的分数为di,tree及它的每个子树都有一个加分,任一棵子树subtree(也包含tree本身)的加分计算方法如下: subtree的左子树的加分× subtree的右子树的加分+subtree的根的分数。 若某个子树为空,规定其加分原创 2017-11-10 07:35:44 · 164 阅读 · 0 评论 -
没有上司的舞会
题目描述 某大学有N个职员,编号为1~N。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数Ri,但是呢,如果某个职员的上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。 输入格式: 第一行一个整数N。(1<=N<原创 2017-11-02 13:36:12 · 158 阅读 · 0 评论 -
[POI2014]FAR-FarmCraft
mhy住在一棵有 nnn 个点的树的 111 号结点上,每个结点上都有一个妹子。 mhy从自己家出发,去给每一个妹子都送一台电脑,每个妹子拿到电脑后就会开始安装zhx牌杀毒软件,第i个妹子安装时间为 CiCiCi 。 树上的每条边 mhymhymhy 能且仅能走两次,每次耗费 111 单位时间。mhy送完所有电脑后会回自己家里然后开始装zhx牌杀毒软件。 卸货和装电脑是不需要时间的。 求所...原创 2018-04-13 07:58:34 · 253 阅读 · 0 评论