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
10003 - Cutting
Sticks
描述:题目难度为 2,将一条长为n的木棍切成m+1块,但是切割顺序不同,寻找状态方程s[x][y]=min(s[x][y],s[x][i]+s[i][y]+s[y]-s[x]);然后就可以敲代码了 代码一(递归,耗时较多): #include <cstdio> #include <cstring> int num[55],s[55][55]; int min(in
·
2015-11-13 17:47
cut
POJ Pick-up
sticks
&n
·
2015-11-13 17:48
poj
POJ 2513 Colored
Sticks
【Trie树】
Trie树+欧拉路径的判定。 并查集来判断连通性,然后判断欧拉路径的条件就可以了。 Trie树的插入操作和查询Index操作,其他操作没有写。 没有写全的模板。 #include <cstdio> #include <cstring> using namespace std; #define N 500002 struct
·
2015-11-13 16:28
color
poj 2653 Pick-up
sticks
线段相交判断
http://poj.org/problem?id=2653 顺序的在地上扔一些细棒,求最后没有被压的细棒。 我是用list容器存储,枚举过去,有被压的就删除,效率比较底,运行800多ms。 #include<stdio.h> #include<stdlib.h> #include<string.h> #inc
·
2015-11-13 16:08
poj
UVA 10003 Cutting
Sticks
(区间DP)
题意: 有一根长度为l的木棍,木棍上面有m个切割点,每一次切割都要付出当前木棍长度的代价,问怎样切割有最小代价 在完成这道题目之前,我们先熟悉一下区间DP 对于这道题,状态转移方程dp[i][j]=min(dp[i][k],dp[k][j])+num[j]-num[i] (i<k<j)切记k不能等于i,j 当dp[i][i] dp[j][j]这是等于0的,导致其相加的和必
·
2015-11-13 16:24
uva
uva 10003 Cutting
Sticks
(区间DP)
题目连接:10003 - Cutting
Sticks
题目大意:给出一个长l的木棍, 再给出n个要求切割的点,每次切割的代价是当前木棍的长度, 现在要求输出最小代价。
·
2015-11-13 14:05
uva
poj 2513 Colored
Sticks
http://poj.org/problem?id=2513 和离散数学有关 欧拉回路问题 同一颜色的标记为同一点 同一stick 的两端为相连状态 数学什么的 最不擅长了 看了别人的解析 两个限制条件 1 图为联通 可用并查集判断 2 度 (出度+入度)数为基数的点为0 或者为 2 输入时相加 不满足上述两个条件中的任何
·
2015-11-13 12:43
color
poj 2513 连接火柴 字典树+欧拉通路 好题
Colored
Sticks
Time Limit: 5000MS Memory Limit: 128000K Total Submissions: 27134  
·
2015-11-13 12:19
poj
UVAlive 2322 Wooden
Sticks
(贪心)
There is a pile of n wooden
sticks
.
·
2015-11-13 11:51
live
10003 Cutting
Sticks
(区间dp)
Cutting
Sticks
You have to cut a wood stick into pieces.
·
2015-11-13 11:33
cut
poj 2513 Colored
Sticks
http://poj.org/problem?id=2513 字典树+并查集+欧拉路 代码: #include<iostream> #include<cmath> #include<cstdio> #include<string> #include<cstring> #include<vector> #in
·
2015-11-13 11:27
color
【POJ】2653 Pick-up
sticks
(计算几何基础+暴力)
http://poj.org/problem?id=2653 我很好奇为什么这样$O(n^2)$的暴力能过.... 虽然说这是加了链表优化的,但是最坏不也是$O(n^2)$吗。。。(只能说数据太弱...) 然后本题裸的判线段相交和点在直线上...(看了网上的标程,不判端点的情况都能过我也是醉了...) #include <cstdio> #include <cstri
·
2015-11-13 11:34
poj
POJ1011-
Sticks
转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1311647833 大致题意: 2011 POJ暑假集训题Problem E,POJ上有中文版 解题思路: DFS+剪枝 POJ2362的强化版,重点在于剪枝 令InitLen
·
2015-11-13 09:37
poj
POJ2513-Colored
Sticks
转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1304742541 大致题意: 给定一些木棒,木棒两端都涂上颜色,求是否能将木棒首尾相接,连成一条直线,要求不同木棒相接的一边必须是相同颜色的。 解题思路: 可以用图论中欧拉路的知识来解这道题,首先可以把木棒两端看成节点,把木棒看
·
2015-11-13 09:29
color
HDU 1051:Wooden
Sticks
Wooden
Sticks
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768
·
2015-11-13 07:54
HDU
POJ 1011
Sticks
DFS 题意是让你把这些木棍组合成长度相等的一些木棍。要求长度最短。 #include<cstdio> #include<cstring> #include<algorithm> #include<cmath> using namespace std; int a[65],n,sum,ans; bool v[65],ok; bool c
·
2015-11-13 06:12
poj
nyoj 230 涂彩棒 并查集 字典树 欧拉
1000 ms | 内存限制: 128000 KB 难度: 5 描述 You are given a bunch of wooden
sticks
·
2015-11-13 05:28
并查集
uvalive 2322 Wooden
Sticks
(贪心)
题目连接:2322 Wooden
Sticks
题目大意:给出要求切的n个小木棍 , 每个小木棍有长度和重量,因为当要切的长度和重量分别大于前面一个的长度和重量的时候可以不用调整大木棍直接切割,
·
2015-11-13 02:27
live
uva10003 Cutting
Sticks
http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=944 区间dp,对于每段区间,他们的最优值都是由几段更小区间的最优值得到,是分治思想的一种应用,将一个区间问题不断划分为更小的区间直至一个元素组成的区间,枚举他们的组合,求合并后的最
·
2015-11-13 01:16
uva
POJ 2513, Colored
Sticks
128000KTotal Submissions: 13696 Accepted: 3384 DescriptionYou are given a bunch of wooden
sticks
·
2015-11-13 01:11
color
Poj1065
#include<stdio.h> #include<stdlib.h> struct g { int l; int w; bool t; }
sticks
·
2015-11-13 00:46
poj
HDU 1086 You can Solve a Geometry Problem too HDU 1147 Pick-up
sticks
这两道题都是规范相交的模板题。 HDU 1086 题目链接http://acm.hdu.edu.cn/showproblem.php?pid=1086 View Code 1 #include<stdio.h> 2 #include<stdlib.h> 3 struct node 4 { 5 double x,y; 6 }star
·
2015-11-13 00:56
HDU
[POJ2513 Colored
Sticks
]
[题目来源]:POJ2513 [关键字]:字典树 并查集 欧拉路 [题目大意]:给定许多根木棒,两边分别涂有不同颜色,问能否将他们连成一条直线。规定只能将相同颜色的两端相连。 //===================================================================================================== [分析]
·
2015-11-13 00:38
color
POJ 2653 Pick-up
sticks
(线段判交)
Description Stan has n
sticks
of various length.
·
2015-11-13 00:59
poj
10003 Cutting
Sticks
(区间dp)
Cutting
Sticks
You have to cut a wood stick into pieces.
·
2015-11-12 23:16
cut
hdu 1051Wooden
Sticks
1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #define maxn 10000 5 using namespace std; 6 struct node 7 { 8 int s,e; 9 bool operator <(co
·
2015-11-12 23:19
HDU
poj 2513Colored
Sticks
http://poj.org/problem?id=2513 1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 using namespace std; 5 6 const int sign_node=26; 7 const int max_node=5
·
2015-11-12 23:56
color
HDOJ搜索专题之Square
分析:这题就是
sticks
那题的简化版。思路一样。
·
2015-11-12 22:38
搜索
HDOJ搜索专题之
Sticks
题目数学模型:给定n个正整数,现要将这n个数分成k组,且满足每组的和都相等。求最多能分多少组。 这题是经典的剪枝搜索题,原题来自PKU。下面的程序虽然AC了,但是跑不动POJ中discuss中的那组BT数据。 View Code 1 #include <stdio.h> 2 #include <stdlib.h> 3 #include <str
·
2015-11-12 22:37
搜索
POJ 2513 Colored
Sticks
字典树存储,用并查集判连通, 欧拉回路判通路。 /*Accepted 59208K 422MS C++ 1191B 2012-08-02 11:38:21*/ #include<stdio.h> #include<string.h> #include<stdlib.h> typedef struct {
·
2015-11-12 22:07
color
POJ1065(Wooden
Sticks
)
http://poj.org/problem?id=1065 我发现我真的不适合做这些问题,老是考虑不完全。看到题之后,我知道要先排序,因为最省时的是l'>l,w'>w, 排序之后就可以只看weight了,所以先将lenth作为一级参数,weight作为二级参数排序。排序之后就只需要考虑 weight这个方面了。然后开始处理stick,对处理过的stick标记为1,剩下再循环处理
·
2015-11-12 22:57
poj
POJ 1065 Wooden
Sticks
贪心
一道贪心题目,题意:有n个木棒,分别不同的长度和不同的重量,一个机器需要处理这些木棒,如果第i+1个木棒的重量和长度都>=第i个处理的木棒,那么将不会耗费时间,否则需要增加一个单位的时间,问最少需要多少时间处理完(包括机器启动的时间) 思路:我们把木棒按重量从小到大排列,而且相同的重量按长度从小到大排列,然后每次选取合适的木棒加入一个集合,这个集合木棒的顺序是按重量和长度递增的,也就是
·
2015-11-12 21:02
poj
POJ 2513 Colored
Sticks
/* 此题考察 并查集 和 hash (或trie树)应用,我是用的hash,可以证明:如果满足题意要求,那么同种颜色出现次数为奇数次的个数不超过2,即最多有两种颜色他们出现的次数为奇数,并且所有的颜色属于同一集,根据这个原理,便有了hash+并查集的算法。这样不怎么费时,510ms就过了。 在并查集 中,最父节点的值为负值,其绝对值是整个子树节点的个数*/ #includ
·
2015-11-12 21:37
color
ZOJ Problem Set - 1025 Wooden
Sticks
ZOJ Problem Set - 1025 Wooden
Sticks
Time Limit: 2 Seconds &
·
2015-11-12 20:00
set
POJ 2452
Sticks
Problem (线段树+递归)
题意:给一个正整数序列,记为a1,a2,……an,现需找i,j,使得i<j,并且ai与aj之间的数均比ai大,均比aj小,求符合上述条件的i与j,使得j-i的最大。 分析:易知序列中的最小值比其他所有数都小,最大值比其他所有数都大,所以可以现找到最小的数与最大的数的位置,记为i,j,若i<j,则区间[i,j]内符合上述条件的最值就是j-i,然后递归求解左右区间[1,i-1],[j+1
·
2015-11-12 19:47
poj
stick用法
棒状物 [C][(+of)] I bought the child some
sticks
of ca
·
2015-11-12 19:04
用法
uva 10003 Cutting
Sticks
(区间dp)
本文出自 http://blog.csdn.net/shuangde800 题目链接: 打开 题目大意 一根长为l的木棍,上面有n个"切点",每个点的位置为c[i] 要按照一定顺序把每个点都砍段,最后变成了n+1段 每砍一次,就会有一个花费,例如长度为10,
·
2015-11-12 18:09
uva
poj 1065 Wooden
Sticks
_贪心
题意:将木棍放在机器里处理,第一根需要一分钟,剩余的如果大于等于前边放入的长度和重量,就不用费时间,否则需要一分钟,计算给出一组数的最少时间。 思路:先按长度排序,相同在比较重量,然后按顺序比较得出结果 #include<stdio.h> #include<algorithm> using namespace std; const int maxn=5010; st
·
2015-11-12 17:44
poj
UVa 10003 Cutting
Sticks
(区间DP)
题意: 给定一个l长得木棍,要把它从给定的n个点截断,每截断一次需要的费用为木棍的长度。 求截断这个木棍所要花费的最小代价。 思路: 典型的区间DP,要额外添加2个点:0和l,于是区间从1不断扩展到n+1,dp[i][j]代表点i到点j所要花费的最小代价。 #include <cstdio> #include <cstdlib> #include <cst
·
2015-11-12 17:03
uva
HDU 1147 Pick-up
sticks
题解:每放一根棍子,都判断一下它与它前面的且在顶端的棍子是否相交,相交的话则将相应的棍子从解空间中除去。 #include <cstdio> const double eps=1e-14; const int maxn=1e5+10; struct node{double x1,y1,x2,y2;int w;}e[maxn],f[maxn]; double cr
·
2015-11-12 16:11
HDU
HDU 1455
Sticks
非常经典的搜索剪枝,剪枝说明见程序: #include <cstdio> #include <algorithm> using namespace std; int l,total,n,sum; struct node{ int l; bool flag; friend bool operator < (const node &
·
2015-11-12 16:25
HDU
poj2452
Sticks
Problem RMQ问题
题目大意说:给出一系列的木棒的长度,求出一个最大的区间[x,y],满足所有的len[k]>len[i] && len[k]<len[j] ,i<=k<=j。我看的题目分类说这个题目用RMQ,所有就用了RMQ实现,由于开始的时候我是枚举的所有的区间,所以肯定超时,后来改为从i找出以i开始的最大区间范围,然后在这个范围内求出最大值的下标j,那么j就是从i开始的所
·
2015-11-12 16:08
poj
Codeforces 451A Game With
Sticks
Now they are playing a game on a grid made of nhorizontal and m vertical
sticks
.
·
2015-11-12 15:25
codeforces
hdu 1147:Pick-up
sticks
(基本题,判断两线段相交)
Pick-up
sticks
Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768
·
2015-11-12 15:46
HDU
hdu 1051:Wooden
Sticks
(水题,贪心)
Wooden
Sticks
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768
·
2015-11-12 15:31
HDU
UVA 10003 - Cutting
Sticks
最优矩阵链乘问题:状态转移方程如下:(比较繁琐,稍后会有优化版) f[i][j] = f[i][k] + f[k][j] + a[j] - [i];//a[]存储切点i,j代表线段的头和尾 利用递推运算,先把线段之间没有切点的收费情况即f[i][j]赋值为零,然后利用这个推出线段之间只有一个切点的线段,如此不断扩大,当线段的头尾一个是0一个是给出的长度,也就AC了: 代码如下:(此代码不
·
2015-11-12 15:35
uva
Sticks
(poj1011/uva307)
题目大意: 乔治有一些碎木棒,是通过将一些相等长度的原始木棒折断得到的,给出碎木棒的总数和各自的长度,求最小的可能的原始木棒的长度;(就是将一些正整数分组,每组加起来和相等,使和尽可能小) 一开始做poj 32ms过,但uva3000 ms 都超时。。。而且poj discuss里给出了一组bT数据,最后uva 0.2sac的代码也跑了3 。4秒左右。discuss里的大牛据
·
2015-11-12 14:02
poj
poj2513Colored
Sticks
(无向图判欧拉路、回路+trie树)
http://poj.org/problem?id=2513 每个单词为一个节点 并查集判联通 度数为偶数或有两个为奇数 4A 第三次是由于有多余的测试输出没删掉 前两次统计多少个单词 统计错了 View Code 1 #include <iostream> 2 #include<cstdio> 3 #include<string.h>
·
2015-11-12 14:31
color
计算几何--判断两条线段相交--poj 2653
Pick-up
sticks
Time Limit: 3000MS Memory Limit: 65536K Total Submissions:&
·
2015-11-12 14:27
poj
UVA 10003 Cutting
Sticks
切木棍 dp
题意:把一根木棍按给定的n个点切下去,每次切的花费为切的那段木棍的长度,求最小花费。 这题出在dp入门这边,但是我看完题后有强烈的既是感,这不是以前做过的石子合并的题目变形吗? 题目其实就是把n+1根木棍合并成一只长木棍,花费为合并后的木棍长度。 于是我很开心地用优先队列敲完代码,wa了。。。 后来发现两个木棍的序号必须是连续的,用优先队列会把序号打乱。每次删减中间的一个数又很费
·
2015-11-12 13:11
uva
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
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
其他