• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
tmeteorj
Nothing is so big that it is impossible to get over, and hurt only serves to make us stronger. 没有什么事是大到无法战胜的,痛苦也只会让我们变得更加坚强。
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 21 下一页

2012年10月7日

POJ 3390
摘要: 题意:每行限制宽度为m,然后给出n个单词的长度,将它们排版,每行不得超过m。最后对于每一行,如果不满m,则会有(m-len)^2的惩罚,求最小惩罚。(每两个单词之间会有一个空格,每行最后一个单词没有空格)题解:dp[i]代表将前i个单词排好所花费的代价,sum[i]代表前i个单词的总长度,那么dp[i]=min(dp[j]+(m-(sum[i]-sum[j]+i-j-1))),j<i且满足sum[i]-sum[j]+i-j-1<=m,由于m<=100,所以nm的复杂度还是可以接受的。View Code 1 #include<cstdio> 2 #include&l 阅读全文
posted @ 2012-10-07 14:21 tmeteorj 阅读(290) 评论(0) 推荐(0)
 
POJ 3307
摘要: 题意:一个数,如果能写成某个数各位数的乘积,那么它就是XX数,XX数从1开始算起,然后问你第n个XX数是多少。题解:考虑某个数的各位乘积得到的x,即所有1~10的数相乘,那么x分解质因数后必定由2、3、5、7组成,所以,所谓第几个XX数就是找第几个只有2,3,5,7的幂次构成的数而已,先打表预处理,直接得答案完事。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 typedef long long LL; 6 LL a 阅读全文
posted @ 2012-10-07 13:12 tmeteorj 阅读(318) 评论(0) 推荐(0)
 
 

2012年10月6日

POJ 1117
摘要: 题意:给出一个n,求所有的x+y=n且y是x长度仅差1的子序列。题解:分情况讨论,设y是x剔除第i位得到的数,1)若i>lenth(n)/2,y=x/10^i*10^(i-1)+x%10^(i-1)=x/10^i*10(i-1)+x-x/10^(i-1)*10^(i-1)=x-(x/10^(i-1)-x/10^i)*10^(i-1)x+y=2x-(x/10^(i-1)-x/10^i)*10^(i-1)=n设T=(x/10^(i-1)-x/10^i)2x-T*10^(i-1)=nx=(n+T*10^(i-1))/2x,n,T均为整数且i>1,所以n非偶数直接返回,其他情况则枚举T直到 阅读全文
posted @ 2012-10-06 21:05 tmeteorj 阅读(657) 评论(0) 推荐(0)
 
POJ 1130
摘要: 题意:给出一个有向图,起点为0,终点为m,求删去一个最靠近m且不是m的点,使得0不能到m。题解:dijiskra求一遍反向最短路,然后枚举所有dist<ans的点,删去它后0还能否到m。View Code 1 #include<cstdio> 2 #include<algorithm> 3 #include<cstring> 4 using namespace std; 5 const int N=10000; 6 int head[N],dist[N],nc,_nc,_head[N]; 7 struct Edge 8 { 9 int to,next; 阅读全文
posted @ 2012-10-06 12:21 tmeteorj 阅读(300) 评论(0) 推荐(0)
 
 

2012年10月5日

POJ 3600
摘要: 题意:给一个小矩形,一个大矩形,均是01矩阵,然后问从大矩形中删除一些行一些列是否能得到小矩形。题解:先枚举小矩形由大矩形哪些列组成,然后在判断这些列能否组成小矩形,判断方法为:先将小矩形每一行当做2进制数存入一个一维数组中(长r),在对每一个已经枚举好的大矩形的列也同样按此操作,得到一个长为R的数组,如果第一个数组是第二个数组的子序列,那么就是可行的。这样,枚举列的复杂度O(Choose(C,c)),至多十几万,判断子序列是O(r+R)View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algo 阅读全文
posted @ 2012-10-05 19:07 tmeteorj 阅读(205) 评论(0) 推荐(0)
 
POJ 1090
摘要: 题意:一个01序列,改变第k位的条件是第k-1位是1并且前k-2位全是0,求使01序列全变成0的最小步骤。题解:通过举几个使00...1变成00...0的例子可以发现,长度为i最后一位为1的最小步骤实际就是它的(2^i)-1,于是dp[i][0]代表前i位全为0的最小代价,dp[i][1]代表前i-1位为0,第i位为1的最小代价。 若第i位本身是1,则dp[i][1]=dp[i-1][0],dp[i][0]=dp[i-1][1]+1+2^(i-1)-1=dp[i-1][1]+2^(i-1); 若第i位本身是0,则dp[i][0]=dp[i-1][0],dp[i][1]=dp[i-1][... 阅读全文
posted @ 2012-10-05 18:21 tmeteorj 阅读(400) 评论(0) 推荐(0)
 
POJ 2567
摘要: 题意:给定一棵无根树,每次选编号最小的叶子删除,并将与该叶子相连的结点编号输出来。PS:无根树叶子的定义:度为1的点。题解:按照拓扑排序方法,每次选择度为1且编号最小的点,将与它相连的点输出来,并将其度减一。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<cctype> 5 using namespace std; 6 int head[100],nc; 7 struct Edge 8 { 9 int to,next;10 } ed 阅读全文
posted @ 2012-10-05 17:32 tmeteorj 阅读(340) 评论(0) 推荐(0)
 
POJ 2454
摘要: 题意:每个城市有1000头牛,其中各个城市又有一些“Jersey Cows”,现在要将城市均分为3份,使得至少两份Jersey Cows的数量之和超过那份区域牛总数的一半。题解:先踢出Jersey Cows最少的K座城市,统计剩下的两份Jersey Cows数量,随机交换它们直到满足题意。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 #include<ctime> 5 #include<cstdlib> 6 using namespac 阅读全文
posted @ 2012-10-05 16:47 tmeteorj 阅读(327) 评论(0) 推荐(0)
 
POJ 2286
摘要: 题意:一个#型的棋盘,上面有1、2、3各8个,要求通过8种操作使得最后中间的八个格子数字相同。题解:IDA*搜索,首先,每个格子有三种状态,总共有3^24种状态,即使通过1、2、3都只有8个排除一些内存也是不够的,相反,此题给了15s的时限,便可以用时间效率不如bfs,但是空间上完爆bfs的IDA*了。 1、记录八种旋转的改变数组位置,然后在设定的depth范围内dfs。 2、两个剪枝:a)当前操作是上一次操作的逆操作。b)当前状态最好情况也无法在depth之内完成任务,即使中间8个格子中最多的数字在最好情况下凑成目标态也超过了depth。View Code 1 #include<c.. 阅读全文
posted @ 2012-10-05 15:58 tmeteorj 阅读(1056) 评论(0) 推荐(0)
 
POJ 3681
摘要: 题意:给定n个点,你需要找一个面积最小的矩形将其中的m个点严格的包裹在内。题解:1、尽管求的是严格包裹在内的点,但也可以转化成求非严格,即点可以在边上的,两者对应关系就是x*y=(a+2)*(b+2)。 2、由于n、m都比较小,可以枚举矩形的xmin,xmax。 3、枚举确定xmin和xmax后,实际上矩形的一条边就确定了,要想面积最小,就是使得另一边尽可能的小,即从x坐标满足要求的点中选择m个y坐标最接近的,由于每个枚举都是共用一个数据,所以可以先将n个点按y坐标排序。View Code 1 #include<cstdio> 2 #include<cstring> 3 阅读全文
posted @ 2012-10-05 11:14 tmeteorj 阅读(339) 评论(0) 推荐(0)
 
 
上一页 1 ··· 5 6 7 8 9 10 11 12 13 ··· 21 下一页

公告


博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3