• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






tim11

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2012年9月16日

poj1976A Mini Locomotive(dp)(***)
摘要: http://poj.org/problem?id=1976(1)有n节火车,用3个火车头去拉动,每个火车头拉动的车厢是连续的,且上限为m,求最大的载客量。(2)核心的部分:f[i][j]=max(f[i-1][j], f[k][j-1]+a[i]-a[k]); f[i][j]表示拉动前 i 节车厢由 j 个火车头拉动的最优解,a[i]是经由:a[i]+=a[i-1]; 处理过的,表示还不是特别理解。。。具体代码:View Code #include<cstdio>#include<iostream>#include<algorithm>using name 阅读全文
posted @ 2012-09-16 16:24 tim11 阅读(127) 评论(0) 推荐(0)
 
zstu1897Brackets(dp)
摘要: http://10.16.23.21:8080/JudgeOnline/showproblem?problem_id=1897(1)简化版的括号序列;(2)dp顺序,长度由0起递增,以便于递推的实现。具体代码:View Code #include<stdio.h>#include<string.h>#define N 300char ch[N];int dp[N][N] ;int main(){ int i, j, k, t, n; while(scanf("%s", ch)!=EOF) { if(strcmp(ch, "end" 阅读全文
posted @ 2012-09-16 15:24 tim11 阅读(147) 评论(0) 推荐(0)
 
zstu2171WordStack(zz状态压缩dp)(*)
摘要: http://10.16.23.21:8080/JudgeOnline/showproblem?problem_id=2171(1)这个题目的代码只是抄了一遍,还没有自己独立打出来。(2)思路其实不复杂,分为三步: 1)求两两关系len[i][j]的最优值; 2)求加入一个新元素k后的最优值dp[i|(1<<k)][k]; 3)求的dp[(1<<n)-1][j]的最大值。具体代码:View Code #include<stdio.h>#include<string.h>#include<algorithm>using namespac 阅读全文
posted @ 2012-09-16 15:16 tim11 阅读(163) 评论(0) 推荐(0)
 
zstu3794Next Prime(大范围的素数判定)
摘要: http://10.16.23.21:8080/JudgeOnline/showproblem?problem_id=3794(1)暑假集训的时候死活没有AC的题目。(2)其实一开始我的思路就是对的,先算出小范围(20万)以内的所有素数,保存起来,用这些素数作为判定位置数据的素数与否的依据。是的,一开始就是对的!!(3)错误的原因有两个方面: 1)__int64. 为此,所有的int被我换成了__int64,保证了正确性。(虽然并不提倡) 2)"not less than" 是:for(i=n;;i++) 而不是:for(i=n+1;;i++) 其实一开始... 阅读全文
posted @ 2012-09-16 13:25 tim11 阅读(156) 评论(0) 推荐(0)