最新文章列表

UVA 10154 Weights and Measures

// 乌龟塔问题:每个乌龟有力量和重量,求最多能堆多少乌龟? // 注:乌龟的力量表示背上能承受的重量(包括自己的重量) // [解题方法] // 对乌龟数组按力量S从小到大sort(若S一样,无所谓) // 堆的时候是后面的乌龟堆在下面 // 为什么这样sort得到的结果最好? // 原因:对于乌龟a和乌龟b,设as<bs, // 若a能背b,则 ...
基德KID.1412 评论(0) 有2056人浏览 2013-01-30 09:40

UVA 10069 Distinct Subsequences

// [解题方法] // dp[i][j]表示Z串的[0~i]子串在X串的[0~(j-1)]子串中的出现次数 // 初始化:dp[i][0] = 0 // 状态转移1: // dp[0][j+1] = (Z[0]==X[j])?(dp[0][j]+1):(dp[0][j]) // 状态转移2(i>0): // dp[i][j+1] = (Z[i]==X[j])?( ...
基德KID.1412 评论(0) 有1527人浏览 2013-01-29 16:23

UVA 10131 Is Bigger Smarter?

// [解题方法] // 对大象增加编号属性i,以免排序后丢失 // 对大象数组倒过来sort一下(W大的在前;若W一样,S小的在前) // 对sort好的数组倒过来dp最长子序列,记录前驱 // 输出路径(由于是倒过来dp,所以输出路径不用栈,不断输出前驱即可) // 复杂度O(n^2) #include <iostream> #include < ...
基德KID.1412 评论(0) 有1886人浏览 2013-01-29 16:01

并查集

最近做了两道并查集的题目,今天做的一道是more is better,选出集合元素最多的集合   我的习惯是每一次查的时候用while找到root,然后进行集合合并,这样的实现就超时了。在网上找了代码用递归的方式寻找root,每一层寻找均将root值赋值给当前元素,作为当前元素的根。实际上就是将集合压扁了,在每一次查找根的过程中,将枝叶节点直接链接至根节点,所以用了递归反而之后的查找会比较块 ...
acm 
urey 评论(0) 有741人浏览 2013-01-22 22:06

bupt boj 第二题

/************************************************************************* > File Name: 2.c > Author:narutolby > Created Time: 2013年01月02日 星期三 14时34分25秒 ********************************** ...
acm 
narutolby 评论(0) 有842人浏览 2013-01-06 20:01

POJ1029 C解法

/* 又是假币判断问题,跟POJ1013类似,不过这个题用1013那个算法WA了...后来换了种枚举的算法才过... 思路就是假币应该在每个不等式中都出现,最后只 ...
taojianrong 评论(0) 有1209人浏览 2012-12-29 17:14

POJ1029 C++解法

/* poj 1029 False coin 题目大意: 同1013,查找假的硬币。不过不同的是,不要求求出假币是重还是轻,只需要找出即可。 解题思路: 同1013. 令所有出现在左侧的硬币为1,右侧的硬币为-1,称重结果: 左侧重为1,轻为-1。 则有如下 a ...
taojianrong 评论(0) 有742人浏览 2012-12-29 16:55

POJ1013 C++解法

大致题意: 有一打(12枚)硬币,其中有且仅有1枚假币,11枚真币 用A~L作为各个硬币的代号 假币可能比真币略轻,也可能略重 现在利用天枰,根据In ...
taojianrong 评论(0) 有809人浏览 2012-12-29 01:30

POJ1013 C解法

题目大意: 至多有12个硬币,编号A-L,里面有一枚假币。多组数据,每组给出三次称量结果(even,up,down),保证可以找到假币,要求你输出假币编号并指出假币是比真币轻还是比真币重。   解题思路: 起初对所有硬币标记0;如果是even,则两边所有的硬币都是真的(记10);否则就对不确定的硬币记录怀疑(++或者--);最后只要看哪个硬币的绝对值最大,也就是被怀疑的次数最多,即是假币。 ...
taojianrong 评论(0) 有1279人浏览 2012-12-29 01:06

切西瓜与切蛋糕问题

切蛋糕、切西瓜这类问题一般都有固定的公式,告诉大家一个技巧:二维的一般是an^2+bn+c,三维的一般是an^3+bn^2+cn+d. 用带定系数法求出各个系数就OK了 ...
taojianrong 评论(0) 有1354人浏览 2012-12-28 13:51

ACM算法训练参照

经典训练参照,不解释了,很好~ 1.图论 2.数据结构 3.搜索 4.动态规划 5.模拟 6.数学 7.计算几何 8.博弈论 9.字符串 ================= ...
taojianrong 评论(0) 有1192人浏览 2012-12-27 21:41

POJ1006 Biorhythms

我使用的算法比较简单,就是循环,当出现(day-p) % 23 == 0 && (day-e) % 28 == 0 && (day-i) % 33 ==0表示当天是三个周期的高峰。 import java.util.Scanner; public class Main { public static void main(String[] arg ...
翼若云 评论(0) 有861人浏览 2012-11-22 13:03

POJ1005 I Think I Need a Houseboat

水题,只要会算半圆面积就能解。其中计算面积可以用Math类中的方法,当时编写图简单就没有使用。 double area = Math.PI * (Math.pow(x,2)+Math.pow(y,2)) / 2.0;     import java.util.Scanner; public class Main { public static void main(Str ...
翼若云 评论(0) 有612人浏览 2012-11-22 10:17

POJ1001 Exponentiation

这个题目就是计算R的n次幂,poj中高精度浮点类型的计算对于java来说太简单了。代码如下: import java.math.BigDecimal; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner scanner ...
翼若云 评论(0) 有848人浏览 2012-11-21 15:53

[DFS][模拟]hdoj 4462:Scaring the Birds

大致题意:     在一个n*n的区域,有m个空地,空地上可以放稻草人,每个空地的稻草人有一定的覆盖面积,求最少放多少个稻草人才能覆盖所有的除去空地以外的区域。   大致思路:     由于m很小,所以直接搜索就可以了。   #include<iostream> #include<cstring> #include<cstdio> usin ...
暴风雪 评论(0) 有1311人浏览 2012-11-09 13:16

[spfa]hdoj 4460:Friend Chains

大致题意:     一个无向图n个点,m条边,求任意两个点之间最短路的最大值。   大致思路:     比赛时以为要有什么牛逼的算法才能做出这道题。后来算了下效率,发现用spfa求出n个点的最短路就可以了。   #include<iostream> #include<cmath> #include<cstdio> #include<c ...
暴风雪 评论(0) 有1698人浏览 2012-11-08 21:15

[水题]hdoj 4432:Sum of divisors

大致题意:    把一个数的所有约数化为m进制之后,把这些数的每一位的平方相加求和,按照m进制输出。   大致思路:     纯模拟     #include<iostream> #include<cstring> #include<cstdio> #include<cmath> using namespace std; int ...
暴风雪 评论(0) 有1828人浏览 2012-10-27 18:02

[二分匹配]zoj 3156:Taxi

大致题意:    有n个人和m辆车(n<=m)。给出所有人和车的坐标,以及人移动的速度。现在让每个人走去找一辆车坐。每辆车只能乘坐一个人,花费的时间最少是多少。   大致思路:    二分这个时间的最大值tmax,再用匈牙利算法判定是否n个人都能在tmax的时间内赶到车上。     一开始直接二分距离,高精度神马的写渣了。后来发现,二分枚举距离值的下标就可以~~   #incl ...
暴风雪 评论(0) 有1180人浏览 2012-10-25 19:28

[线段树,单点更新]hdoj 1754:I Hate It

大致题意:     给出一个数组,在线更新点的值,查询区间的极值。   大致思路:     简单线段树。   #include<iostream> #include<cstring> #include<cstdio> using namespace std; const int Max = 250005; struct data{ ...
暴风雪 评论(1) 有1305人浏览 2012-10-21 21:33

[线段树]hdoj 1166:敌兵布阵

大致题意:    给出一个n长度的数组,在线的实现改变某个值,查询一个区间和的功能。   大致思路:    基础线段树。。G++死活过不去,郁闷,用c++水过去了     #include<iostream> #include<cstring> #include<cstdio> using namespace std; const int Max ...
暴风雪 评论(0) 有1078人浏览 2012-10-21 20:52

最近博客热门TAG

Java(141747) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54918) .net(54785) Web(54513) 工作(54116) Linux(50906) Oracle(49876) 应用服务器(43288) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37268) 数据结构(36423)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics