自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(38)
  • 收藏
  • 关注

原创 poj 3254 Corn Fields

第一道自己写的状态压缩DP.题意是在一个二维矩阵中选一些数,这些数不能相邻,有多少种选法.因为每行的可行状态只与上一行有关,所以只要预先计算两行的可行放置方案,再进行状态转移就可以了#include #define MODULE 100000000#define MAXN 100010using namespace std ;int n , m , ntrans ;

2010-03-16 19:59:00 956

原创 poj 2018 Best Cow Fences

求一段长为n序列的最大平均值子序列,子序列的长度最小为F.类似于最大连续字段和的做法#include #define MAXN 100010using namespace std ;__int64 a[MAXN] , sum[MAXN] ;int main (){ __int64 n , m , i , j , k , s , ncows , nfields ;

2010-03-15 13:24:00 1331 3

原创 poj 2085 Inversion

题目链接题意是求一个长度为n的逆序对为m的序列即数组,求符合条件的字典序最小的序列。由于长度为n的序列逆序对数最多为n(n - 1)/2,由于要求字典序最小,所以要用尽量少的数字表示尽量多的的逆序对数。例如长度为4,逆序为3,(2,3,4,1),(1,4,3,2)两个序列都符合要求但是,前者用4个数字表示了逆序3,但后者用3个就可以了。所以第一步逆序对m求出最少用多少(假如

2010-03-13 18:19:00 737

原创 Disk Tree

原题题意就是给出一个文件夹下的许多的文件(有可能是子文件的子文件),重构这个文件夹,按字母序。第一感觉就是很像拓扑,但不能用拓扑来做。以为是思路比较简单,写起来比较麻烦的模拟题,以为给出的路径是相对路径,没有重复的文件名,有可能下一行的文件是上一行的子文件(只要文件名相同),写了半天的代码,WA,下了测试数据,发现完全理解错题意了。就是一颗树,,子节点的个数不定,每次插入一

2009-12-05 15:34:00 879

原创 Roadblocks

题目来源题目大意:求1到n的权值大于最短路的次短路,在路径中允许重边。攻略:一看数据量,O(n^3)是肯定过不了的,O(E)应该能过。因为次短路有一定有一部分是最短路,次短路由最短路得出,由此诞生第一种:保存从1到所有节点的最短路和次短路的权值,用DIJ做,在O(E)的时效下只能求最短路,因为求每个节点的次短路不一定按照最短路得顺序得出,得出后面节点的最短路有可能会更新前面

2009-12-02 23:00:00 646

原创 Phone Numbers

题目来源完整思路流程:题意是给定以长度不超过100的数字串,给定一个数字对字母的转化表,给定一些单词,求最少用几个单词组成数字串。 第一种:用Trie树把所有的单词载入,再对数字串在Trie树搜索,结果TLE.第二种:看discuss上说BFS和DP, 感觉如果数据是特意构造的话会TLE,随机数据可能会过。 然后发现在考虑第一种方法时应该考虑到的预处理的两种方法

2009-12-02 20:19:00 534

原创 How far away ?

http://acm.hdu.edu.cn/showproblem.php?pid=2586LCA问题,本来想写两个的,不知道为什么LCA转RMQ会RE,又找不到数组越界的可能,再用第二种方法Tarjon离线先A了再说#include #define MAXN 40010using namespace std ;struct Graph { int vex , ne

2009-10-26 20:55:00 634 3

原创 Taxi Cab Scheme

原题构图+简单路径覆盖#include #include #define MAXN 510using namespace std ;struct Ride{ int minutes , a , b , c , d , cost ;} ;struct Graph{ int v , next ;};Graph G[MAXN * MAXN] ;

2009-10-17 14:59:00 393

原创 Strategic game

原题树形DP#include #include #define MAXN 1600using namespace std ;struct Graph{ int vex , next ;};Graph G[MAXN] ;int first[MAXN] , dp[MAXN][2] ;void TreeDP (int s){ int tot ;

2009-10-14 20:31:00 571

原创 Computer net

原题照着PPT的思想做了第一道二次动规#include #include #define MAXN 10010using namespace std ;int pre[MAXN] , leaf[MAXN] , n , child[MAXN] , dis[MAXN][2] , m ;void Readin (){ int i ; scanf ("%d" ,

2009-10-14 19:19:00 481

原创 Roads

原题磨了三天,终于AC了,开始时照着书上写,心里很没底,发现如果有错,很难改,后来又到网上找代码,又看不懂。最后下定决心自己写。思路参照2005年国家集训队王俊的论文。#include #include #define MAXN 70//数组开小了还WA了一次#define MAXE 420#define INF (1 << 28)using namespace

2009-10-14 09:24:00 384

原创 Eva's Balance

http://162.105.81.212/JudgeOnline/problem?id=1702若天平已平衡,即左右重量相等,右边全是3的幂,转成三进制的话,每位必是0和1,那左边肯定也是一样,所以先把n通过加砝码转化成3进制若某位是2,加上与该位上相对应的砝码#include using namespace std ;int main (){ int t , n ,

2009-10-12 15:18:00 564

原创 Divisibility

http://162.105.81.212/JudgeOnline/problem?id=1745第二次挤进第一版,同时挤进一千,从Dominoes和Coins得到的启示,k同余等价类,每次状态只在除k余数相同的数之间转移#include using namespace std ;int n , k , num[110] ;bool f[110] ;void R

2009-10-12 14:11:00 592

原创 Dominoes

http://162.105.81.212/JudgeOnline/problem?id=1717开始想用O(NC)的算法来写,一直WA,后来发现算法是错的,只好用O(NClbM)#include #include #define INF 3000#define ZERO 6000using namespace std ;int f[13000] ;//void

2009-10-12 13:01:00 489

原创 Railway Communication

http://acm.sgu.ru/problem.php?contest=0&problem=252从今天开始每天看算法,做算法题,不以水题为主了。参考了王俊的论文,是路径覆盖+KM算法,KM算法是求一幅完全图,想不出来怎么修改,参考了DD的SGU之旅,只要把不存在的边赋值为无穷大即可。后来一直PE,以为空格有问题,查了半天,发现SPJ的PE可能是WA,输出的应该是路径数n - m,

2009-10-11 14:58:00 551

原创 One fihgt one

http://acm.hdu.edu.cn/showproblem.php?pid=2813贴个KM二分最小权值匹配的模板#include #include #include #include #pragma warning (disable: 4786)#define MAXN 210#define INF 0x7fffffffusing namespac

2009-10-10 20:20:00 510

原创 Solving the Problems

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3230贪心+最大二叉堆,写这题主要是练习一下二叉堆,从没写过,每次找最大的b,#include #include #define MAXN 100010using namespace std ;struct Problem{ int a

2009-10-10 12:52:00 503

原创 Find them, Catch them

http://162.105.81.212/JudgeOnline/problem?id=1703并查集,用深度差区别是否在一个集合,差为偶,同在一个集合,为奇则相反。如果A和B在不同的集合且深度差为偶,直接把A的根指向B的根(B的根指向A的根也可以);为奇时,把深度小的根插入深度大的根的子节点;TLE了一次,没有进行路径压缩,WA了一次,改的时候,当深度差为奇时,应该指向根的

2009-10-09 15:49:00 368

原创 Dream City

http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3211省赛的题目,用了最大权值匹配去做,TLE,没有发现它们的先后关系:如果已经从n种树中选出m种,怎么排列使答案最优,贪心,按增幅从小到大排列,有了这个结论,状态转移方程就非常好写了,#include using namespace std ;struc

2009-10-08 18:32:00 529 1

原创 Balancing Act

http://162.105.81.212/JudgeOnline/problem?id=1655测试了一下,第一个结点是否是第二个结点的父结点,返回TLE,验证我的猜测,不是。只能用DFS构造树了,从叶子节点向根节点遍历,O(N)#include #define MAXN 20010using namespace std ;struct Graph{ int

2009-10-08 14:18:00 458

原创 Jugs

http://162.105.81.212/JudgeOnline/problem?id=1606广搜,深搜都可以,懒得写了。SPJ,想用构造解决,因为A和B的容量互质,所以一定有解(数论),复习了一下数论,后来发现直接模拟操作过程就可以了,构造方法不止一种,因为一定有解,重复某一种方案一定能得到正解#include using namespace std ;int m

2009-10-08 12:34:00 446

原创 Area

http://162.105.81.212/JudgeOnline/problem?id=1654把n边多边形划分成n-2个三角形再利用叉积计算MLE了一次,WA了两次,算叉积的时候,正负要保留,直到求出总面积时在取绝对值。#include using namespace std ;struct Point{ __int64 x , y ;};__int64

2009-10-07 18:41:00 420

原创 The Unique MST

http://162.105.81.212/JudgeOnline/problem?id=1679又是枚举。。。先求最小生成树,保存最小生成树的所有边,再枚举删边,求出次小生成树的权值是否等于最小生成树的,写得过程中把差点Prim和DIJ搞错(好像错了好几次了)#include #define MAXN 110using namespace std ;int n , g[M

2009-10-07 15:28:00 386

原创 Divisibility by 15

http://162.105.81.212/JudgeOnline/problem?id=2969能被15整除分成分别被3和5整除:能被5整除末位一定是0或5,枚举两种情况,接下来就是删数,删的个数越少,结果越大,分别有三种情况,一个不删, 删一个,删两个,依次枚举就可以#include using namespace std ;char str[1010] , ans

2009-10-07 14:12:00 345

原创 Multiplication Puzzle

http://162.105.81.212/JudgeOnline/problem?id=1651一开始以为是贪心每次删最大的数就行了,WA了一次,又尝试删最小的数旁边的数,代入几个例子还是不对。猛然发现时动态规划。和矩阵连乘一样的做法dp[i][j] = Min (dp[i][k] + dp[k][j] + a[i] * a[k] * a[j])(i #include usi

2009-10-07 11:40:00 336

原创 Lie To Me

  看了 美剧>第一集,感觉有点意思,主角通过观察别人的微表情来读出别人的真实想法。  印象深刻的就是如果是伪装出来的表情往往持续很久(既然是伪装,目的是让别人看到,时间太短别人有可能会发现不了),真实的感情往往稍纵即逝;说谎的人往往会更多的目光交流,直视你的眼睛(害怕你不相信),这点我不苟同,这要根据谈话的两人的身份关系,那要取决说谎者的心理素质与自信心。   讲了两个故事,如果单独分开

2009-10-06 12:04:00 373

原创 Shredding Company

http://162.105.81.212/JudgeOnline/problem?id=1416一开始以为是动态规划,后来以为是贪心,发现都不行,一看数据只有六位,枚举切割方案就行了(至多32种),代码写得很不顺(模拟功底太弱了),WA了一次。#include using namespace std ;int ans , m , n , len , b ;char str

2009-10-05 20:23:00 376

原创 Intersection

http://162.105.81.212/JudgeOnline/problem?id=1410题目中的这句"The terms top left and bottom right do not imply any ordering of coordinates. "换句话说,左上角的x,y和右下角的x,y没有确定的大小关系,x1>x2 , y1 < y2也有可能,在修改的时

2009-10-05 17:49:00 324

原创 Rectangles

http://162.105.81.212/JudgeOnline/problem?id=1468在时效上居然排进了第一版422MS.虽然加了一些优化,但感觉上还是很暴力.先对矩形的面积进行从大到小排序,要覆盖的话,一定是面积大的覆盖面积小的或是互相覆盖。#include #define MAXN 5010using namespace std ;struct Rect

2009-10-05 15:27:00 451

原创 Word Index

http://162.105.81.212/JudgeOnline/problem?id=1496 写了好几次,调试了很久,发现思路很乱,关电脑整理一下思路,也不难。#include using namespace std ;/*list[i]有字符个数不大于i个的字符合法的个数.以后只要计算str[i] 与 str[i - 1] 之间长度为len - i的合法字符的个数就

2009-10-05 14:38:00 478

原创 Supermarket

http://acm.pku.edu.cn/JudgeOnline/problem?id=1456我刚开始还以为会超时,显然数据比较弱,也许是随机数据,没有特意构造。最坏情况是(n^2)。贪心策略:每次找价格最高的商品,在它的截止时间往前推进,直到找到没有卖其他商品那天。#include #define MAXN 10010using namespace std ;stru

2009-10-04 20:48:00 310

原创 Closest Common Ancestors

http://162.105.81.212/JudgeOnline/problem?id=1470#include #define MAXN 1000using namespace std ;int par[MAXN] , depth[MAXN] , n , ans[MAXN] ;void Readin (){ int i , j , m , v , w ; m

2009-10-04 17:54:00 328

原创 Girls and Boys

http://162.105.81.212/JudgeOnline/problem?id=1466因为可以分为男孩和女孩两个集合,所以是标准的二分匹配,以前做过,可不明白为什么是最大独立集=n(人的个数)-m(最大匹配数),最大独立集就是在这个集合里任意两个元素没有匹配边,而求最大匹配就是使得任意一条匹配边的两个顶点至少有一个在最大匹配中,求完匹配后,再去掉每条匹配边的任意一个顶点,剩下的

2009-10-04 15:14:00 391

原创 I-Keyboard

http://162.105.81.212/JudgeOnline/problem?id=1404题意:一个长度为L的字符编码,分成n个键,使它们的权值和最小,求如何构造;此题要构造最最优解,必须先算出最小值; f (i , j)表示把前j个字符划分成i个键的最小权值;weight(i , j)表示从第i个到第j个作为一个键的权值 ;f(i , j) =  Max (f (

2009-10-04 12:36:00 655

原创 Calling Extraterrestrial Intelligence Again

http://162.105.81.212/JudgeOnline/problem?id=1411本来以为很容易就过了的,以前在杭电做过,可没想到超时了;后来剪了n次枝,提交了4,5次终于过了,以后在一个OJ上过了,再拿到其它OJ上试试,有可能会WA或TLE(尤其是搜索类题目);这题比较有纪念意义,是第一道通过自己剪枝从TLE到AC的.#include int prim

2009-10-03 19:08:00 540

原创 King

http://162.105.81.212/JudgeOnline/problem?id=1364DescriptionOnce, inone kingdom, there was a queen and that queen was expecting a baby. Thequeen prayed: ``If my child was a son and if only

2009-10-02 19:23:00 368

原创 Holedox Moving

http://162.105.81.212/JudgeOnline/problem?id=1324Description Duringwinter, the most hungry and severe time, Holedox sleeps in its lair.When spring comes, Holedox wakes up, moves to the

2009-10-01 18:43:00 833

原创 乘电梯还是走楼梯

http://acm.zjgsu.edu.cn/JudgeOnline.htmlDescriptionblue 新开了一家公司,开张第一天,他邀请ACMers一起去玩。ACMers一定吓了一大跳,因为大厦有31层高。所以大厦里肯定有电梯。每个ACMer都有自己想去的楼层,现在blue想,这些人要从大厦底层到达各自的目标楼层,可以通过搭乘电梯,也可以走楼梯,每

2009-09-30 13:32:00 1247

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除