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

2012年10月7日

POJ 3193
摘要: 题意:判断一些句子是不是另一些句子的前缀,并统计是的个数。题解:将被匹配串读入结构体中排序,然后对于每个匹配串,通过二分在结构体中找。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 const int M=1005,N=10005; 6 struct data 7 { 8 char s[100]; 9 bool operator<(const data &ne)const10 {11 return st 阅读全文
posted @ 2012-10-07 16:48 tmeteorj 阅读(243) 评论(0) 推荐(0)
 
POJ 1309
摘要: 题意:m个椰子,n个人,使得这n个人按次序醒来后能够将剩余的椰子分成n份多1,然后将1扔给猴子,自己拿走n份中的一份(这里的n一旦确定就不会改变),n次之后,剩余的椰子还能被n整除,求最大满足条件的n。题解:考虑第一次m%n==1,所以对m-1分解质因数,即m-1的所有非1的约数都能在第一次分椰子的时候满足条件,然后枚举所有m-1的约数,最多2000多个,找出最大的。View Code 1 #include<cstdio> 2 #include<cstring> 3 #include<algorithm> 4 using namespace std; 5 c 阅读全文
posted @ 2012-10-07 16:07 tmeteorj 阅读(325) 评论(0) 推荐(0)
 
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)
 
 

公告


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