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
Sticks
poj1065 Wooden
Sticks
思路:先按照小棍的l从小到大排序,如果小棍的l相等,按照小棍的w排序。拍完序后从第一根小棍开始,从前往后搜索l和w分别比第一个小棍的l和w小的,记得把后面的赋值给前面的,,然后标记下。 #include #include #include usingnamespacestd; structnode { intl,w; }stk[5005]; boolcmp(nodex,nodey) { if(x.
su20145104009
·
2015-03-30 16:00
poj1065
HDU 1051 Wooden
Sticks
(不好想)
#include #include #include #include #include usingnamespacestd; structHome{intl,w;}num[5001]; boolcmp(Homea,Homeb) { if(a.l>=b.l) returnfalse; elsereturntrue; } intmain() { inti,T,n,sum; intmark[500
xinwen1995
·
2015-03-30 09:00
贪心
Codeforces Round #297 (Div. 2) C - Ilya and
Sticks
简单贪心,注意求的是矩形面积总和。。#include #include #include #include #include #include #include #include #include #include #include #include #include #definemaxn100005 #definemaxm300005 #defineeps1e-3 #definemod9999
blankcqk
·
2015-03-27 20:00
codeforces
CF 525C(Ilya and
Sticks
-贪心)
C.IlyaandStickstimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputIntheevening,afterthecontestIlyawasbored,andhereallyfeltlikemaximizing.Herememberedthathehada
nike0good
·
2015-03-27 17:00
Ilya and
Sticks
(Codeforces Round 297(div2))
C.IlyaandStickstimelimitpertest2secondsmemorylimitpertest256megabytesinputstandardinputoutputstandardoutputIntheevening,afterthecontestIlyawasbored,andhereallyfeltlikemaximizing.Herememberedthathehada
caduca
·
2015-03-27 16:00
Algorithm
编程
ACM
codeforces
Ilya and
Sticks
1.题目描述:点击打开链接2.解题思路:本题要求在一些木棍中找出能够拼成长方形的四根木棍,使得拼出的所有长方形的总面积尽量最大。木棍可以截去1个单位长度。这道题本来理解错了,以为找最大的长方形的面积,纠结了一晚上,直到比赛结束都不明白为啥第四组数据就WA了==。先对小木棍排序,只用从n-2开始逆序地贪心选择就行。如果L[i]==L[i+1]或L[i]==L[i+1]-1,那么把L[i]加入到vec
u014800748
·
2015-03-27 13:00
贪心法
UVA - 10003 - Cutting
Sticks
(区间DP)
这里简述一下区间DP:主要思想:区间动态规划问题一般都是考虑对于每段区间,他们的最优值都是由几段更小区间的最优值得到,是分治思想的一种应用,将一个区间问题不断划分为更小的区间直至一个素组成的区间,枚举他们的组合,求合并后的最优值。定义状态:设dp[i][j]为区间i,j之间的最小代价(实际看题意)实现过程:for(intp=1;p #include #include #include #inclu
u014355480
·
2015-03-24 23:00
ACM
uva
区间DP
POJ_2513_Colored
Sticks
(欧拉路+字典树)
ColoredSticksTimeLimit:5000MS MemoryLimit:128000KTotalSubmissions:31721 Accepted:8391DescriptionYouaregivenabunchofwoodensticks.Eachendpointofeachstickiscoloredwithsomecolor.Isitpossibletoalignthestic
jhgkjhg_ugtdk77
·
2015-03-24 02:00
Algorithm
poj
trie
Euler
hdu 1455
Sticks
DFS 又是一个花样剪枝 ,累觉不爱
SticksTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):6750 AcceptedSubmission(s):1967ProblemDescriptionGeorgetooksticksofthesamelengthandcutthemrandoml
Lionel_D
·
2015-03-20 09:00
ACM
DFS
Sticks
hdu1455
poj 2452 RMQ(
Sticks
Problem)
题意:给出n个互不相同的数字,要求一个最大的子段,使得该子段内所有数(除了两端以外),值都在两端的数字之间(比左端值大,比右端值小)。分析:(http://www.cnblogs.com/rainydays/archive/2012/07/10/2584576.html)先对整个数组分别构造最大值RMQ和最小值RMQ的数组。然后,枚举子段起点,对于每个起点求出这个起点是区间最小值的最远终点(用二分
dumeichen
·
2015-03-19 22:00
POJ1065---Wooden
Sticks
题目大意:给出n根木棒,每个木棒都有自己的长度和重量,求不下降子序列的最小个数,后一个木棒的长度和重量都要大于等于前一个分析:贪心+动态规划代码:#include #include #include usingnamespacestd; structstick{ intl,w; }; stickc[5005]; intuse[5005],ans; boolcmp(sticki,stickj){
hhhhhhj123
·
2015-03-15 09:00
poj
UVA 10003 - Cutting
Sticks
(区间DP)
题意:把一根木棍按给定的n个点切下去,每次切的花费为切的那段木棍的长度,求最小花费。区间DP和POJ3253-FenceRepair相似,POJ那题不是给定切割点,而是给定了需要切成的长度,所以可以用哈夫曼编码贪心做//AcceptedC++0.112 #include #include #include #include usingnamespacestd; intlen; intdp[55][
kalilili
·
2015-03-10 16:00
uva 10003 Cutting
Sticks
#include #include #include #include #include usingnamespacestd; intvis[55][55],d[55][55],a[55]; intdp(inti,intj) { if(i>=j-1)return0; if(vis[i][j])returnd[i][j]; vis[i][j]=1; intans,k; ans=99999999;
xinag578
·
2015-02-21 12:00
Wooden
Sticks
依然和前几个一样作为最简单的贪心,不在多说注意第二条是标准在一直都改变...#include #include #include #include #include usingnamespacestd; structT{ intlength,weight; }a[5010]; boolcmp(Ta,Tb){ if(a.length!=b.length) returna.length0){ for
u014665013
·
2015-02-17 23:00
UVA 10003 Cutting
Sticks
点击打开链接区间dp问题,搞清楚转移方程就好了,一段区间的最小值就是两段之和加上区间的长度。#include #include #include #include #include #include usingnamespacestd; constintmaxn=60; inti,j,k,n,f[maxn][maxn],length,a[maxn]; intmain() { while(cin>
jtjy568805874
·
2015-02-17 20:00
uva
动规
UVA 307
Sticks
Georgetooksticksofthesamelengthandcutthemrandomlyuntilallpartsbecameatmost50unitslong.Nowhewantstoreturnstickstotheoriginalstate,butheforgothowmanystickshehadoriginallyandhowlongtheywereoriginally.Ple
jtjy568805874
·
2015-02-17 14:00
uva
剪枝
暴力
POJ1065 Wooden
Sticks
ACM解题报告(暴力贪心)
这题就是那个3636的兄弟啊,这题数据量还小,暴力直接16MS,不需要二分了(ps.每次我二分都要思考半天)这题贪心的方法与3636不同,是两个量都升序。因为这题只要大于等于当前的即可不+1;这题主要是给出贪心的小证明吧。升序排列,第一个木棍为一组,然后和他第一个参数相等木棍都与他一组(因为升序排列而且可以取=)如果你说这个不是最优解,可以将第一个参数相等的所有木棍看成集合p1,p2,。。。。px
Miracle_ma
·
2015-02-05 23:00
ACM
poj
POJ2653 Pick-up
sticks
线段相交
题目大意:有n个木棒(可视为线段),随机扔到平面坐标系中,问你有哪些木棒上面没有压其他的木棒。典型的求线段相交的问题,把输入的木棒视为线段,分别看该木棒后面的木棒中有没有和他相交的。还有就是本题的时间卡的比较少,O(n^2)的复杂度都有可能爆。刚开始我是按正序判断的,即找出当前木棒前面的木棒中有没有和他相交的,这样一来就做了很多的无用功,比如第一根木棒和第二根木棒相交了,我们已经标记了第一根木棒,
AC_Gibson
·
2015-02-04 17:00
uva 307
Sticks
刚开始在poj过了,拿到uva居然超时。改了好久都没成功,最后问了一个同学,稍微改了一下思路才ac。给uva数据跪了,电费不要钱吗?这题数据太恶心,所以必需剪枝。1.将数据从大到小排序,方便后面选择和操作。2.最后答案只能是sum的约数,所以枚举范围最小为最长的那个棍子的长度,最大只需要到sum/2,如果前面没有求出答案,那么就是sum了。3.在深搜过程中,如果当前棍子没有用上,下一个棍子如果长度
xinag578
·
2015-01-31 19:00
Wooden
Sticks
(HDU 1051)
WoodenSticksTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):12958 AcceptedSubmission(s):5336ProblemDescriptionThereisapileofnwoodensticks.Thelengthandw
jxust_tj
·
2015-01-05 20:00
贪心算法
POJ1011
Sticks
深搜+剪枝 ACM解题报告
我是一只小菜鸟,打酱油本领强。本题一开始我想直接用深搜,不过设了两个参数却怎么写写不出,不造如何判断当前搜索最后能不能得到解,可能是我的代码基础不行,后来百度学习了下回溯法和剪枝,参考了别的大神的写法,大多数想法一样,就是他们用了三个参数,可以很清楚的表示能不能搜索成功,如果不能则回溯到上一个结点,这题真的是很经典,所以作此记录。#include #include #include #includ
Miracle_ma
·
2014-12-22 09:00
poj
蓝桥杯第二次选拔E.Wooden
Sticks
/*E.WoodenSticks TimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others) TotalSubmission(s):11619AcceptedSubmission(s):4800 ProblemDescription Thereisapileofnwoodensticks.Thelengthan
kalilili
·
2014-12-03 22:00
HDU 1051 Wooden
Sticks
贪心
题目大意:给你一组长度为l,重量为w的木棒,加工这些木棒需要花费时间,其中花费的时间为:(1)加工第一个木棒需要一分钟;(2)从第二个木棒开始,如果前一个长度为l,重量为w的木棒已经加工过,那么下一个木棒的长度l1和重量w1满需l1>=l,w1>=w,那么加工这个木棒将不花费时间,否则需要一分钟去加工。让求加工这些木棒最少花费的时间。我们按长度和重量把这些木棒排序,然后遍历这些木棒,如果已加工有木
AC_Gibson
·
2014-11-21 12:00
POJ 1011
Sticks
题目来源:http://poj.org/problem?id=1011SticksTimeLimit: 1000MS MemoryLimit: 10000KTotalSubmissions: 122460 Accepted: 28373DescriptionGeorgetooksticksofthesamelengthandcutthemrandomlyuntilallpartsbecameatm
u012560612
·
2014-11-11 16:00
Algorithm
poj
DFS
剪枝
UVA 10003 Cutting
sticks
#include #include #include usingnamespacestd; #definemaxn100000 intp[55],dp[55][55]; intmain() { intL,n; while(cin>>L&&L) { memset(dp,0,sizeof(dp)); cin>>n; for(inti=1;i>p[i]; p[0]=0,p[n+1]=L; for(i
DoJintian
·
2014-11-09 22:00
ACM
uva
搜索 + 剪枝 --- POJ 1101 :
Sticks
Sticks
Problem's Link: http://poj.org/problem?
·
2014-11-07 20:00
poj
POJ 2452
Sticks
Problem
RMQ+二分。。。。枚举i ,找比i小的第一个元素,再找之间的第一个最大元素。。。。。 SticksProblemTimeLimit: 6000MS MemoryLimit: 65536KTotalSubmissions: 9338 Accepted: 2443DescriptionXuanxuanhasnsticksofdifferentlength.Oneday,shepu
u012797220
·
2014-11-04 11:00
poj 2513 Colored
Sticks
欧拉回路(字典树 +并查集)
此题中涉及三个小算法,这是一个无向图判断欧拉回路,无向图存在欧拉回路的充要条件一个无向图存在欧拉回路,当且仅当该图只存在0或2个奇数度数的顶点,且该图是连通图。有向图存在欧拉回路的充要条件一个有向图存在欧拉回路,所有顶点的入度等于出度且该图是连通图。判断度数很简单,当时没想明白怎么判断图示连通的,其实只要判断他们的父节点的个数,只要只有一个父节点,那么此图是连通的。字典树分配一下他们的id就好了,
u013076044
·
2014-11-02 16:00
UVA - 10003 Cutting
Sticks
(dp和记忆化搜索两种解法)
题目大意:有一根长度为L的木棍,还有n个切割点的位置(按照从小到大排列)。你的任务是在这些切割点的位置处把木棍切成n+1部分,使得总切割费用最小。每次切割的费用等于被切割木棍的长度。例如,L=10,切割点为2,4,7。如果按照2,4,7的顺序排序,费用为10+8+6=24,如果按照4,2,7的顺序,费用为10+4+6=20解析:这题有两种解法记忆化搜索和dp,但是状态转移公式只有一个。设d(i,j
HelloWorld10086
·
2014-10-30 20:00
uva
Cutting
Sticks
10003
poj 2513 Colored
Sticks
(欧拉通路+并查集+字典树)
题目链接:poj2513ColoredSticks题目大意:有N个木棍,每根木棍两端被涂上颜色,现在给定每个木棍两端的颜色,不同木棍之间拼接需要颜色相同的端才可以,问最后能否将N个木棍拼接在一起。解题思路:欧拉通路+并查集+字典树。欧拉通路,每个节点的统计度,度为奇数的点不能超过2个。并查集,判断节点是否完全联通。字典树,映射颜色。#include #include #include #inclu
u011328934
·
2014-10-29 21:00
UVALive - 2322 Wooden
Sticks
题目大意:给出要求切的n个小木棍,每个小木棍有长度和重量,因为当要切的长度和重量分别大于前面一个的长度和重量的时候可以不用调整大木棍直接切割,否则要进行调整。现在要求求出一个序列,使得调整的次数最少,输出调整的次数。解题思路:将n个小木棍先按照长度和重量的大小排序,然后按照顺序将小木棍分堆,可入堆的要求是长度和重量大于当前这个堆的长度和重量,入堆之后,要将新的木棍的属性赋值个这个堆,如果当前所有堆
kl28978113
·
2014-10-28 23:00
UVALive 2322 Wooden
Sticks
(贪心)
题目大意:有n根木棒,我们预先知道了这些木棒的长度l和重量w,现在要将这n根木棒送入机器进行处理。第一个木棒处理的时间为1min当前木棒的长度为l,重量为w,当前木棒右边的木棒长度为l',重量为w'。如果l'>=l,w'>=w,这处理右边这根木棒时,不要花费时间,否则花费1min时间。请输出最少需要花多少的时间。解析:贪心题,可以先将木棒进行排序,先按照长度进行升序排序,如果长度相同就按照重量升序
HelloWorld10086
·
2014-10-28 20:00
uvalive
Wooden
Sticks
2322
1410260946-hd-Wooden
Sticks
WoodenSticksTimeLimit:2000/1000ms(Java/Other) MemoryLimit:65536/32768K(Java/Other)TotalSubmission(s):1 AcceptedSubmission(s):1Font:TimesNewRoman|Verdana|GeorgiaFontSize:←→ProblemDescriptionThereisap
wangluoershixiong
·
2014-10-26 09:00
【线段相交】 POJ 2653 Pick-up
sticks
线段相交水题,维护一个队列就行。。。#include #include #include #include #include #include #include #include #include #include #include #include #include #definemaxn1000005 #definemaxm2000005 #defineeps1e-10 #definemod1
blankcqk
·
2014-10-20 18:00
poj
hdu1051——Wooden
Sticks
WoodenSticksTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):12086 AcceptedSubmission(s):5011ProblemDescriptionThereisapileofnwoodensticks.Thelengthandw
Guard_Mine
·
2014-10-19 13:00
贪心
UVA 10003 Cutting
Sticks
DescriptionYouhavetocutawoodstickintopieces.Themostaffordablecompany,TheAnalogCuttingMachinery,Inc.(ACM),chargesmoneyaccordingtothelengthofthestickbeingcut.Theirprocedureofworkrequiresthattheyonlymake
Misdom_Tian_Ya
·
2014-10-09 18:00
Wooden
Sticks
(Greedy Algorithm)
Link:http://acm.hdu.edu.cn/showproblem.php?pid=1051WoodenSticksTimeLimit:2000/1000MS(Java/Others) MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):12003 AcceptedSubmission(s):4980ProblemD
Enjoying_Science
·
2014-10-06 14:00
ACM
贪心
[欧拉回路] poj 2513 Colored
Sticks
题目链接:http://poj.org/problem?id=2513ColoredSticksTimeLimit: 5000MS MemoryLimit: 128000KTotalSubmissions: 30955 Accepted: 8159DescriptionYouaregivenabunchofwoodensticks.Eachendpointofeachstickiscoloredw
cc_again
·
2014-10-03 10:00
POJ Colored
Sticks
(2513) -trie树&欧拉回路
题意:给你n根木棒,每个木棒两端都涂有颜色,任意两根木棒可以连在一起,如果他们有一端颜色是相同的,问你最后是否能把所有的木棒连成一根。题解:神奇的trie&欧拉回路(用map水的TLE了)注:COPY的题解,第一见识trie&学习了结构体定义时初始化&一些新的函数(new开辟类型新空间,要访问new所开辟的结构体空间,无法直接通过变量名进行,只能通过赋值的指针进行访问.)#defineINF0x7
ShiAokai
·
2014-09-25 11:00
数据结构
uva 10003 Cutting
Sticks
【区间dp】
题目:uva10003CuttingSticks题意:给出一根长度l的木棍,要截断从某些点,然后截断的花费是当前木棍的长度,求总的最小花费?分析:典型的区间dp,其实和石子归并是一样的,花费就是石子的和,那么久不用多说了。AC代码:#include #include #include #include #include #include #include #include usingnamespa
y990041769
·
2014-09-18 18:00
Algorithm
dp
sizeof
ICPC
uva
HDU1051 Wooden
Sticks
贪心
WoodenSticksTimeLimit:2000/1000MS(Java/Others)MemoryLimit:65536/32768K(Java/Others)TotalSubmission(s):11906AcceptedSubmission(s):4943ProblemDescriptionThereisapileofnwoodensticks.Thelengthandweightofe
u013068502
·
2014-09-15 19:00
贪心思想
POJ 2653 Pick-up
sticks
(线段规范相交)
POJ2653Pick-upsticks(线段规范相交)http://poj.org/problem?id=2653题意:ZOJ2551 有n根厚度忽略不计的木棍平行的往地板按顺序扔,扔完之后给你每根木棍在地板这个二维平面的端点坐标,要你输出那些木棍是在最上面的(即没有任何一根木棍压着它).用例的图,木棍2压着木棍1了.分析: 本题直接暴力解决即可.由于木棍是按顺序扔下去的,那
u013480600
·
2014-09-13 17:00
Algorithm
算法
ACM
poj
计算几何
【索引】Backtracking - Hard
Volume3.BruteForce::Backtracking-Hard10123-NoTipping10160-ServicingStations197-Cube185-RomanNumerals307-
Sticks
317
HelloWorld10086
·
2014-09-03 19:00
索引
POJ2513——Colored
Sticks
DescriptionYouaregivenabunchofwoodensticks.Eachendpointofeachstickiscoloredwithsomecolor.Isitpossibletoalignthesticksinastraightlinesuchthatthecolorsoftheendpointsthattouchareofthesamecolor?InputInput
Guard_Mine
·
2014-09-01 16:00
字典树
poj2513Colored
Sticks
(快排-二分-并查集-欧拉路)
题意:就是给你一些木棒,木棒两头都有颜色,颜色相同的可以连接起来。问你是否可以将所有木棒连接起来。思路:一看到这些字符串,就立马想到用map标记字符串的下标,直接超时。然后使用快排+二分来查找这些字符的下标。还有一个注意的地方,这是一个无向图。因为这个WA了好几次。无向欧拉路连通的条件是:所有的度数都是偶数或者只有两个是奇数。#include #include #include #include
KJBU2
·
2014-09-01 13:00
【索引】Backtracking - Hard
Volume3.BruteForce::Backtracking-Hard10123-NoTipping10160-ServicingStations197-Cube185-RomanNumerals307-
Sticks
317
kl28978113
·
2014-08-30 19:00
HDU 1051 Wooden
Sticks
贪心
http://acm.hdu.edu.cn/showproblem.php?pid=1051题目大意:给定一些木棒的长和重,安装第一根木棒时间为1分钟,然后如果安装的上一支木棒的长和重均不超过下一支木棒的长和重,那么不需要安装时间,否则要1分钟。求最短的安装时间。如:(4,9),(5,2),(2,1),(3,5),and(1,4)按照(1,4),(3,5),(4,9),(2,1),(5,2)只需要
murmured
·
2014-08-30 10:00
编程
C++
ACM
HDU
POJ 2513 Colored
Sticks
(字典树+并查集连通性+欧拉回路)
题目地址:POJ2513刚开始没想到字典树,用的map函数一直TLE,由于上一次的签到题由于没想到字典树而卡了好长时间的深刻教训,于是过了不久就想起来用字典树了,(为什么是在TLE了5次之后。。T^T)然后把map改成了字典树,然后就过了。这题居然不知不觉的用上了欧拉回路。。其实当时我是这样想的。。因为相互接触的必须要相同,所以除了两端外,其他的都是两两相同的,所以除了两端的颜色外其他的的个数必须
u013013910
·
2014-08-27 20:00
编程
算法
C语言
poj
UVA 307 -
Sticks
题目大意:将n节木棒接成m个长度相等的木条,要求木条的长度尽可能的短。解题思路:DFS+剪枝首先,拼成木条的长度必须是所有木棒长度总和的约数,并且大于等于木条中的最大值。将木棒从打到小排列,可以减少递归的层数。当第i个木棒未选取时,如果i+1木棒与i木棒相同长度。跳过,没有必要重复考虑。当遍历到i个木棒时,找不到小木棒和它组成木条时,可以终止当前判断的木条长度。#include #include
kl28978113
·
2014-08-24 17:00
HDU 1051 Wooden
Sticks
贪心题解
本题一看就知道是最长不减序列了,一想就以为是使用dp解决了。不过那是个错误的思路。我就动了半天没动出来。然后看了看别人是可以使用dp的,不过那个比较难证明其正确性,而其速度也不快。故此并不是很好的解决方法。所以我就直接硬算,硬模拟选择出非减子序列,选完就出答案了。思路:1按照长度排序2按照不减原则选择重量,选一个,消灭一个。最后消灭完了,就处理完毕,答案就自然出来了。原来是一道披着dp的外套的模拟
kenden23
·
2014-08-24 10:00
上一页
7
8
9
10
11
12
13
14
下一页
按字母分类:
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
其他