2015年4月19日
摘要: 时间限制:2000ms单点时限:1000ms内存限制:256MB描述给定字符串,求它的回文子序列个数。回文子序列反转字符顺序后仍然与原序列相同。例如字符串aba中,回文子序列为"a", "a", "aa", "b", "aba",共5个。内容相同位置不同的子序列算不同的子序列。输入第一行一个整数T,... 阅读全文
posted @ 2015-04-19 13:48 风也轻云也淡 阅读(218) 评论(0) 推荐(0) 编辑
  2013年6月15日
摘要: 最近才开始写图形化的程序。不禁感慨道虽然也有很多不足,Windows作为一个操作系统是多么的强大!当然,这也导致写程序很麻烦,尤其是关系到unicode编码的时候。今天遇到的问题是关于GDI对象的,代码如下: 1 void Cls_OnPaint(HWND hDlg) 2 { 3 PAINTSTRUCT ps; 4 HDC hDc, memDc; 5 HBITMAP hOldBitmap; 6 7 hDc = BeginPaint(hDlg, &ps); 8 9 SetStretchBltMode(hDc, COLORONCOLOR);10 ... 阅读全文
posted @ 2013-06-15 16:46 风也轻云也淡 阅读(315) 评论(0) 推荐(0) 编辑
  2011年9月17日
摘要: ——求K个机器人从同一点出发,遍历所有点所需的最小花费——树形DP,分组背包——url:http://acm.hdu.edu.cn/showproblem.php?pid=4003————————————————————————————————————————————————【转载】:dp[i][j]表示对于以i结点为根结点的子树,放j个机器人所需要的权值和。当j=0时表示放了一个机器人下去,遍历完结点后又回到i结点了。状态转移方程类似背包如果最终的状态中以i为根结点的树中有j(j>0)个机器人,那么不可能有别的机器人r到了这棵树后又跑到别的树中去因为那样的话,一定会比j中的某一个到达i 阅读全文
posted @ 2011-09-17 19:39 风也轻云也淡 阅读(334) 评论(0) 推荐(0) 编辑
摘要: ——将一块多边形的蛋糕切成许多三角形的小蛋糕,每切一刀有一个花费,求最小的花费。——dp,多边形的三角剖分——url:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=3537————————————————————————————————————————————————————————————————【转载】在一个n个顶点的凸多边形中,插入对角线(对角线两两不相交)将多边形划分为三角形。总共需要n-3条弦,将多边形切成n-2个小三角形。设凸多边形n个顶点顺序为p[1],p[2],……,p[n],它有n条边:<p[1 阅读全文
posted @ 2011-09-17 15:24 风也轻云也淡 阅读(370) 评论(0) 推荐(0) 编辑
  2011年9月15日
摘要: ——初始时站在树的根节点,若朝着远离根的方向走,记录“0”,接近根的方向走记录“1”。并且树的每一条边只能来回走一次(即向下和返回)。一个合法的01序列可以描述出一棵树的形态。现在给出两个合法的01序列,判断两棵树是否同构。——树的同构——url:http://poj.org/problem?id=1635————————————————————————————————————————————————————【转载】由于根节点确定,若两棵树同构,无非就是把子树的位置交换了一下。很自然的想法就是:将树的子树按照某种规则进行排序,若排序之后两个字符串相等,则同构;否则不同构。现在来分析一下01序列 阅读全文
posted @ 2011-09-15 21:54 风也轻云也淡 阅读(197) 评论(0) 推荐(0) 编辑
  2011年9月8日
摘要: ——一棵树,有边权,有一些点有点权,其余点点权为0。要求一个点,使得该点到其他点的边权和*点权的总和最小。——dp……大概算dp吧——url:http://poj.org/problem?id=3847————————————————————————————————————————————————————————————————————任选一个点作为根,将无根树变成有根树。预处理出(所有有点权的点到根的边权和*点权)的和D[ROOT]预处理出以每个点u为根的子树中所有点的frequency的和F[U]一遍dfs,求出每个点的D值D[U]=Segma(W*(sum-2*F[V])) V为U的儿. 阅读全文
posted @ 2011-09-08 16:08 风也轻云也淡 阅读(379) 评论(0) 推荐(1) 编辑
  2011年9月5日
摘要: ——题目见描述吧……——2-SAT,二分——URL:http://acm.hdu.edu.cn/showproblem.php?pid=3715——————————————————————————————————————————————————————————福州现场赛的一道题。看到x的取值为0,1,要有敏锐的嗅觉……令p=a[i],q=b[i]则P,Q分别是两个组,每个组包含两个元素{0,1}c数组就是描述的这些元素的矛盾关系:x[p]+x[q]!=0 即p组中的0和q组中的0不能同时存在x[p]+x[q]!=2 即p组中的1和q组中的1不能同时存在x[p]+x[q]!=1 即p组中的0和q 阅读全文
posted @ 2011-09-05 21:59 风也轻云也淡 阅读(164) 评论(0) 推荐(0) 编辑
摘要: ——3920的加强版。这次一次设计能够反弹3个敌人。——贪心。——rul:http://acm.hdu.edu.cn/showproblem.php?pid=3921————————————————————————————————————————————————————————————题目中已经告诉我们,用贪心的方法,但是普通的贪心要n^4的复杂度,会超时。因此需要优化。假设一次射击击中的敌人分别是A,B,C,D。枚举B,C找出“我”和B点到其最近的点a1和次近一个点a2,以及与C点最近的点d1及次近的一个点d2若a1与d1不同,则用a1,B,C,d1来更新若a1与d1相同,则用a2,B,C, 阅读全文
posted @ 2011-09-05 19:45 风也轻云也淡 阅读(262) 评论(0) 推荐(0) 编辑
  2011年9月4日
摘要: ——有2*n个敌人。你可以射击n次,每次可以且必须消灭2个敌人,消耗的能量为你到第一个敌人和第一个敌人到第二个敌人的距离。问消耗的能量最小是多少。——dp,状态压缩——url:http://acm.hdu.edu.cn/showproblem.php?pid=3920——————————————————————————————————————————————————————dp[I][J]表示第I次射击,敌人的情况为J时消耗的最小能量(J为二进制压缩的数)。dp[I][J]=MIN(DP[I-1][K&(1<<x)&(1<<y]+dist,DP[I][J 阅读全文
posted @ 2011-09-04 21:15 风也轻云也淡 阅读(162) 评论(0) 推荐(0) 编辑
  2011年9月2日
摘要: ——有n个村庄,要建m个邮局,使得村庄到邮局距离的总和最小。(邮局只能建在村庄里)——DP,四边形不等式优化。——url:http://poj.org/problem?id=1160————————————————————————————————————————————————————————————————————————具体参见毛子清的论文。————————————————————————————————————————————状态转移方程d[i,j]=min{d[i,k-1]+d[k+1][j]}+w[i,j]i<=k<=j时间复杂度为O(n*n*n)。1、如果函数w满足:w 阅读全文
posted @ 2011-09-02 22:19 风也轻云也淡 阅读(332) 评论(0) 推荐(0) 编辑