E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
VIJOS
Vijos
1180 (树形DP+背包)
题目链接: https://
vijos
.org/p/1180 题目大意:选课。只有根课选了才能选子课,给定选课数m, 问最大学分多少。 解题思路: 树形背包。cost=1。
·
2015-11-12 17:58
OS
Vijos
P1313 金明的预算方案(树形DP)
思路: 树形DP,和选课那题一模一样。有依赖的背包,也叫做泛化背包。 #include <iostream> #include <cstdio> #include <algorithm> using namespace std; const int MAXD = 3210; const int MAXN = 64; int
·
2015-11-12 17:00
OS
Vijos
P1180 选课(树形DP)
思路: 基本的树形DP,采用了树上泛化物品的并进行优化。dp[u][v] 代表 u 为根节点时,选择 v 个课程所能达到的最大学分。 #include <iostream> #include <cstdio> #include <algorithm> using namespace std; const int MAXN = 310; int
·
2015-11-12 17:59
OS
【
vijos
1066】弱弱的战壕 线段树
描述 永恒和mx正在玩一个即时战略游戏,名字嘛~~~~~~恕本人记性不好,忘了-_-b。 mx在他的基地附近建立了n个战壕,每个战壕都是一个独立的作战单位,射程可以达到无限(“mx不赢定了?!?”永恒ftING…@_@)。 但是,战壕有一个弱点,就是只能攻击它的左下方,说白了就是横纵坐标都不大于它的点(mx:“我的战壕为什么这么菜”ToT)。这样,永恒就可以从别的地方进攻摧毁战壕,从而消灭
·
2015-11-12 15:51
线段树
Vijos
1100 (区间DP)
题目链接: https://
vijos
.org/p/1100 题目大意:NOIP著名的加分二叉树。给出一棵树的中序遍历,加分规则左子树*右子树+根。空子树分数为1。
·
2015-11-12 13:42
OS
Ural 1018 (树形DP+背包+优化)
解题思路: 其实意思和
Vijos
1180(选课)的意思差不多。只不过权在边而已。 首先建无向图dfs。 for(f+1...j...
·
2015-11-12 13:34
优化
二模 (13)day2
解题过程: 1.感觉有点像
vijos
的晴天小猪,有后向性的dp,当时用了spfa来做,于是这题也用spfa了。听说网格图可以卡掉spfa,以前一直不相信,结果今天就被网格图卡死了
·
2015-11-12 10:27
a
佳佳的魔杖 (
vijos
1283)
题目大意: 一根树枝有N段,每一段有一个分数,可以选取一些不完全包含(可以相交)的区间,每次选取可以得到区间里所有数之和的分数。 求最大得分。 解题过程: 1.很明显的dp,默认选取区间的顺序是从左往右,F[i][j] 表示最后选的区间为[i,j]的最优解(i<=j)。 显然 F[i][j]=max{F[p][q]}+sum[i][j].
·
2015-11-12 10:18
OS
佳佳的魔法药水 (
vijos
1285)
题目大意: 给出N种药水的价格,然后给出一些形如A B C 的关系,表示 A药水+B药水 可以组合出 C药水(保证 A+B 不会得到多种药水)。 要求得到1号药水的最少花费和相应的方案数。 N<=1000。 解题过程: 1.一开始没考虑到会有环的情况(比如A+B=C,B+C=A),想成了树形dp,还以为是大水题,结果全部WA了。
·
2015-11-12 10:17
OS
牛场围栏(
vijos
1054)
题目大意: 给出N种木棍(每种木棍数量无限)的长度(<=3000),每根木棍可以把它切掉[1,M]的长度来得到新的木棍。 求最大的不能被组合出来的长度。 如果任何长度都能组合出来或者最大值没有上限输出-1. (1<N<100, 0<=M<3000), 解题过程: 1.这题就是USACO 4.
·
2015-11-12 10:16
OS
vijos
1243 生产产品 单调性优化动态规划
描述 Description 在经过一段时间的经营后,dd_engi的OI商店不满足于从别的供货商那里购买产品放上货架,而要开始自己生产产品了!产品的生产需要M个步骤,每一个步骤都可以在N台机器中的任何一台完成,但生产的步骤必须严格按顺序执行。由于这N台机器的性能不同,它们完成每一个步骤的所需时间也不同。机器i完成第j个步骤的时间为T[i,j]。把半成品从一台机器上搬到另一台机器上也需要一定的时
·
2015-11-12 10:15
动态规划
Vijos
1286 座位安排(状态压缩DP)
题目链接 先是一个转化,将n和m中较小的的为m这样状态数会小于1<<9。看题后,是嘛想法都啊没有。。看了DISUSS中有人提到这点。。。 写完,调了一下,尝试了几次,发现有两组过不了。想想极限数据,可能还是会爆__int64,然后乱搞改编一下,求组合数模版。。。水过了。。。 还是用STL中vector写的。。。以后还是用数组把。。。 1 #include <cstd
·
2015-11-12 09:22
OS
Vijos
1456 最小总代价(状态压缩DP)
题目链接 用二维数组表示,第一维表示状态,第二维表示此状态最后一个专递者。 状态转移为 if((~que1[j])&(1<<u))//开始这个判断想错了,一直RE。。。对位运算不熟啊。。 dp[que1[j]+(1<<u)][u] = min(dp[que1[j]+(1<<u)][u],dp[que1[j]][k]+p[k+1][u+1]);
·
2015-11-12 09:21
OS
Vijos
1193 扫雷(状态压缩DP)
题目链接 思路很简单。。。但是细节啊。。。。WA了好多次。。。 1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <string> 5 #include <ctime> 6 #include <cstdlib>
·
2015-11-12 09:21
OS
Vijos
1100 加分二叉树(树形DP)
题目链接 感觉和区间DP很类似,觉得还挺简单的,难得1Y,以前的时候直接没思路。。。 1 #include <cstdio> 2 #include <cstring> 3 #include <queue> 4 #include <string> 5 using namespace std; 6 #define LL lon
·
2015-11-12 09:18
二叉树
Vijos
1090 连续数之和(鸽巢定理+组合数)
题目链接 matrix67大神出的题,做出来好激动啊。。。和前几天做的那个用鸽巢定理差不多,只不过是加上一个组合而已。开始把50000的组合数都给预处理出来了,果断TLE了,改了改处理到n,然后0ms秒过了。。。 1 #include <cstdio> 2 #include <cstring> 3 using namespace std; 4 #defi
·
2015-11-12 09:43
OS
Vijos
1002 过河(状态压缩)
题目链接 经典的状态压缩题目。 这个题目就是在石子特别少100个,河却特别长10^9的情况下,而且跳的特别近只有1-10,有点像是省赛那个背包体积特别大的题,这种思想很重要,这个题目的代码写的很渣,思路是如果两个石子距离特别大,就可以近似的看成100,因为无论跳的能力是多少,距离很大,有很多种组合,跳不到石头上。压缩完,就按普通DP来搞就行了,注意特殊情况,特判。 1 #include
·
2015-11-12 09:40
OS
Vijos
1180 选课(树形DP)
题目链接 参考题解做的,如果不是在树上,应该就是个普通的二维DP,前i门课选j门取得最大的分数,可是这个题每门课可能有先修课,所以建树,在树上进行递归。在和虎哥讨论了一下,如何建树,由于不是二叉树,所以每门课可能有多个孩子,本来想用邻接表的,但是好像很麻烦,递归起来不知怎么办,还有另一种方式就是左儿子右兄弟的方式,以前没用过,搜了下题解,这样建树状态转移就简单了,就和在URAL做的那个二叉树的树
·
2015-11-12 09:13
OS
Vijos
1313 金明的预算方案 (分组背包)
题目链接 和多校上的黄金矿工很类似,貌似这个还简单点,每个主件,最多有2个附件,讨论下就可以,当然也神似树形DP。自己做的时候SB了,边输入边处理了,想当然了,果断悲剧了,交了N次之后,发现把背包分组的会错误,最可恨的是不知道该怎么搞了,想快排的,结构体神马的,发现从0开始,后来写的会很麻烦。。受不了了,把以前的代码改改,先把根找到,然后枚举他的孩子。。。虽然效率低点,终于DEBUG好几个小时后
·
2015-11-12 09:12
OS
HDU 1561 The more, The Better(树形DP)
题目链接 和
Vijos
上的选课一模一样。。无奈效率700+,怎么这么慢啊。。。
·
2015-11-12 09:12
more
Vijos
1485 传球游戏(DP)
题目链接 静静的想一想,就OK了,数据量很小。 1 #include <stdio.h> 2 #include <string.h> 3 int dp[31][31]; 4 int main() 5 { 6 int n,m,i,j; 7 scanf("%d%d",&n,&m); 8
·
2015-11-12 09:07
OS
POJ 1160 Post Office(DP)
Vijos
上数据太水了,POJ上本来也想水过的,这个感觉将近O(n^4)的复杂度,交上超时了,本来想优化一下预处理出前i个和的,发现好像这个复杂度,找最小的时候,没法优化。。
·
2015-11-12 09:01
Office
vijos
1901 学姐的钱包
描述学姐每次出门逛街都要带恰好M元钱,不过她今天却忘记带钱包了.可怜的doc只好自己凑钱给学姐,但是他口袋里只有一元钱.好在doc的N位朋友们都特别有钱,他们答应与doc作一些交换.其中第i位朋友说:如果doc有不少于Ri元钱,doc可以把手上所有的钱都给这位朋友,并从这位朋友手中换回Vi元钱,但是这次交换会浪费Ti的时间.doc希望可以在最短的时间内换到M元钱(其实是可以大于M的,因为doc可以
AaronPolaris
·
2015-11-11 23:38
线段树
好题
离散化
vijos
1901 学姐的钱包
描述学姐每次出门逛街都要带恰好M元钱,不过她今天却忘记带钱包了.可怜的doc只好自己凑钱给学姐,但是他口袋里只有一元钱.好在doc的N位朋友们都特别有钱,他们答应与doc作一些交换.其中第i位朋友说:如果doc有不少于Ri元钱,doc可以把手上所有的钱都给这位朋友,并从这位朋友手中换回Vi元钱,但是这次交换会浪费Ti的时间.doc希望可以在最短的时间内换到M元钱(其实是可以大于M的,因为doc可以
AaronGZK
·
2015-11-11 23:00
vijos
拓扑编号
vijos
1790
题意就是拓扑排序,要求1的序号尽可能小,然后2的序号尽可能小,3,4... 一开始很容易想到直接贪心,每次选一个入度为0的点,如果有多个,就选编号最小的那个,但是很容易找到反例。 看了下题解,应该是反着做拓扑排序,每次取编号最大的,但是没有人给出证明。下面给出我的证明,欢迎指出错误。 ps:参考了一位大牛的文章,poj有一道题类似,参考了他的题解,但是找不到了,所以没法放出他
·
2015-11-11 16:46
OS
Vijos
1617 超级教主(单调队列DP)
好久没写了,单调队列。 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 using namespace std; 5 int dp[2000001],p[2000001],sum[2000001]; 6 int que[2000001];
·
2015-11-11 15:03
OS
Vijos
1196 吃糖果游戏(博弈论)
题目链接 每一个必胜点P,肯定可以走到一个N点,N点的下一步,全是P点。递推出小数据,找规律,很明显。 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 using namespace std; 5 int dp[101][101]; 6 char s1[
·
2015-11-11 15:03
OS
Vijos
1232 核电站问题(递推)
题目链接 好久没有 搞递推,这个题在DP专题,其实是赤裸裸的一维的递推,想了好一会啊。F(n)可以由第一个不放F(n-1)加第一个放第二个不放f(n-2)加。。。 F(N) = F(N-1)+F(N-2)...F(N-M)删除中间输出的时候,改错了2次。。。 1 #include <stdio.h> 2 #include <string.h> 3 #inc
·
2015-11-11 15:22
OS
Vijos
1351 棋盘制作(DP)
题目链接 这种黑白问题,遇到好几次了,杭电1838和这个非常类似,这个题是他的加强版,不仅要求正方形还要求矩形的最大面积。 先是两个标记数组o1,o2标记颜色不同的最大长度。sq存在正方形的最大边长正方形的状态转移就是 if(p[i][j] == p[i-1][j-1])sq[i][j] = getmin(sq[i-1][j-1]+1,o1[i][j],o2[i][j]); 最复杂的是矩形
·
2015-11-11 15:22
OS
Vijos
1073 4-Hanoi-Tower(DP后找规律)
题目链接 以前做个一个题,n很小,今天又发现这个问题,没想到n这么大还要取模,在改了以前那个,无奈第三组数据就是过不了,不是WA就是TLE。。。唉,看了讨论,发现需要找规律,思维被前一个题局限住了。简化版的HDU1207题解。 1 #include <stdio.h> 2 #define N 50001 3 int p[N]; 4 int main() 5 {
·
2015-11-11 15:03
OS
Vijos
1143 三取方格数(DP)
题目链接 传纸条的加强版,会了那个,这个也就没问题了。数据范围特别小。6维的也能过吧。。。 1 #include <stdio.h> 2 #include <string.h> 3 int p[21][21],o[61][21][21][21]; 4 int main() 5 { 6 int i,j,k,u,n,max,t; 7
·
2015-11-11 15:01
OS
Vijos
1493 传纸条(DP)
题目链接 第一个多进程DP,在
Vijos
做的第一个题是三取方格数。。。然后发现,这种DP,没见过。。。
·
2015-11-11 15:59
OS
USACO 5.4 Character Recognition
很像多年前做过的某道双调路径的题,记得当时实在
vijos
上面做的。。 不说了,比较简单的dp,dp[i][j]表示从节点1出发一条路径到达i,另一条路径到达j时经过的节点数的最大值。
·
2015-11-11 12:31
character
Vijos
1061 迎春舞会之三人组舞(DP)
题目链接 经典DP问题,通过问题,看出结论,然后倒序,然后注意条件。 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 #include <cmath> 5 #include <algorithm> 6 using namespac
·
2015-11-11 10:10
OS
Vijos
1092 全排列
题目链接 来个水题。。难得的1Y。 1 #include <cstdio> 2 #include <cstring> 3 #include <iostream> 4 using namespace std; 5 #define LL __int64 6 int flag[31],que[31]; 7 LL fact[31];
·
2015-11-11 04:06
全排列
LCS应用—回文词
首先看一下题目: 【题目描述】(
vijos
1327) 回文词是一种对称的字符串——也就是说,一个回文词,从左到右读和从右到左读得到的结果是一样的
·
2015-11-10 22:08
应用
【博弈论】专题总结
刷了差不多两星期的博弈啊(其实还用了很多时间准备坑爹的会考- -) 虽然不是特别熟悉 但是比之前看到博弈就orz好多了 把副队给的题目刷完之后AK表示还不过瘾 又去把wikioi&
vijos
·
2015-11-08 11:03
总结
[
vijos
P1880]ファーラの力
据说这是一道 JOI 的题?反正我觉着挺好的喵~ 题目看起来十分可怕,但是代码还是很短的 显而易见的,ans 因分为3个部分:1.中途增加光压的时间 2.中途减少光压的时间 3. 所有路程的总时间 发现如果把每个柱子的光压下限0去掉后,光压无论在何时加都是一样的 因为若从某刻光压小于等于0后,我们可以按需调整光压,就不再出现人为降低光压这个操作,而不论如何最
·
2015-11-08 10:20
OS
vijos
P1055奶牛浴场&& Winter Camp2002
这道题是我在寒假的模拟赛里碰到的,现在想起来仍觉得余味无穷。题目大意大致如下:给你一个矩形并在其中划出一个最大的子矩形,当然,在这个矩形里有些地方是取不到的,也就是说我们划的这个子矩形不能包含这些点(边界除外)。那么由于时间问题,就让我简单的说一下王知昆论文里的第一种算法(论文链接:http://pan.baidu.com/s/1bnAl6O3)。 首先,我们将所有的点按横坐标从小到
·
2015-11-07 12:52
int
拦截导弹 (
vijos
1303)dp + greedy
某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。 输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,
·
2015-11-05 08:31
OS
集合删数 (
vijos
1545) 题解
【问题描述】 一个集合有如下元素:1是集合元素;若P是集合的元素,则2 * P +1,4*P+5也是集合的元素,取出此集合中最小的K个元素,按从小到大的顺序组合成一个多位数,现要求从中删除M个数位上的数字,使得剩下的数字最大,编程输出删除前和删除后的多位数字。 注:不存在所有数被删除的情况。 【样例输入】 &n
·
2015-11-02 17:20
OS
区间 (
vijos
1439) 题解
【问题描述】 现给定n个闭区间[ai,bi],1<=i<=n。这些区间的并可以表示为一些不相交的闭区间的并。你的任务就是在这些表示方式中找出包含最少区间的方案。你的输出应该按照区间的升序排列。这里如果说两个区间[a, b]和[c, d]是按照升序排列的,那么我们有a<b<=c<=d。 【样例输入】 5 5
·
2015-11-02 17:18
OS
VIJOS
1512SuperBrother打鼹鼠(二维BIT)
呵呵.. 二维树状数组,第二维和第一维基本一样. -------------------------------------------------------------------------------- #include<cstdio> #include<cstring> #include<cstring> #include<
·
2015-11-02 12:22
super
Vijos
1083 小白逛公园(线段树)
线段树,每个结点维护区间内的最大值M,和sum,最大前缀和lm,最大后缀和rm. 若要求区间为[a,b],则答案max(此区间M,左儿子M,右儿子M,左儿子rm+右儿子lm). --------------------------------------------------------------------------------- #include<cstdio>
·
2015-11-02 12:11
线段树
矩阵十题(4)
经典题目4 VOJ1049 题目链接:https://
vijos
.org/p/1049 题目大意:顺次给出m个置换,反复使用这m个置换对初始序列进行操作,问k次置换后的序列。
·
2015-11-02 09:03
矩阵
P1676陶陶吃苹果 -
vijos
描述curimit知道陶陶很喜欢吃苹果。于是curimit准备在陶陶生日的时候送给他一棵苹果树。curimit准备了一棵这样的苹果树作为生日礼物:这棵苹果树有n个节点,每个节点上有c[i]个苹果,这棵树高度为h。可是,当curimit把这棵树给陶陶看的时候,陶陶却说:“今年生日不收礼,收礼只收节点数减高度不超过k的苹果树。”这下curimit犯难了,curimit送来的树枝繁叶茂,不满足节点数-高
·
2015-11-01 14:17
OS
oj
知名的OJ有:RQNOJ,URAL,SPOJ,
vijos
,USACO,sgu,pku(poj),zju(toj),tju,uva等。
·
2015-10-31 16:55
OJ
Vijos
1901学姐的钱包
描述 学姐每次出门逛街都要带恰好M元钱, 不过她今天却忘记带钱包了.可怜的doc只好自己凑钱给学姐, 但是他口袋里只有一元钱.好在doc的N位朋友们都特别有钱, 他们答应与doc作一些交换.其中第i位朋友说:如果doc有不少于Ri元钱,doc可以把手上所有的钱都给这位朋友,并从这位朋友手中换回Vi元钱,但是这次交换会浪费Ti的时间.doc希望可以在最短的时间内换到M元钱(其实是可以大于M的,
·
2015-10-31 16:12
OS
vijos
1881 闪烁的繁星
描述 繁星, 漫天的繁星.繁星排成一列, 我数一数呀, 一共有N只小星星呢. 星星们是听话的好孩子, 小岛在指挥它们跳舞呢.舞蹈开始前, 它们都亮了起来! 小岛指一指第i只小星星, 只见第i只小星星立刻改变了自己的状态.如果它之前是亮着的, 那么立刻就灭掉了.如果它之前是灭掉的, 现在就立刻亮了呀! 如果说, 可以有连续若干只小星星.其中任意相邻两只星星状态不同.那就是最美的了. 小岛
·
2015-10-31 16:08
OS
vijos
1046——最小环问题
1060: [
Vijos
1046] 观光旅游 时间限制: 1 Sec 内存限制: 128 MB 题目描述 湖南师大附中成为百年名校之后,每年要接待大批的游客前来参观。
·
2015-10-31 11:39
OS
上一页
11
12
13
14
15
16
17
18
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他