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






This_poet——Only a poet

为省队而奋斗,为NOI而奋斗!This_poet@126.com
 
 

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

2011年9月20日

最小费用最大流模板
摘要: 向总等编写的《奥赛经典·提高篇》上所给出的基本模板有误,现在把正确的模板贴上来。Program MinCostMaxFlow;//By_ThispoetVar c,f,cost :Array[0..100,0..100]of Longint; a,b,ct :Array[0..100]of Longint; ans :Longint; i,j,k,m,n,p,q :Longint; seq :Array[1..10000]of Longint; h,t :Longint; v :Array[0..100]of Boolean; Func... 阅读全文
posted @ 2011-09-20 16:29 This_poet 阅读(464) 评论(0) 推荐(0)
 
POJ3260 The Fewest Coins ——完全背包+多重背包——Pku3260
摘要: 只需要对John的付款数做一次多重背包,对shopkeeper的找零钱数做一次完全背包即可。最重要的是上界的处理。可以注意到,John的付款数最多为maxv*maxv+m,也就是24400元。同理,shopkeeper找钱最多的数目为maxv*maxv.证明如下:如果John的付款数大于了maxv*maxv+m,即付硬币的数目大于了maxv,根据鸽笼原理,至少有两个的和对maxv取模的值相等,也就是说,这部分硬币能够用更少的maxv来代替。证毕。代码:Program Fewcoins;//By_ThispoetConst maxn=120; maxm=200000;Var i,j,k,m,n. 阅读全文
posted @ 2011-09-20 07:32 This_poet 阅读(750) 评论(0) 推荐(0)
 
POJ3265 Problem Solving ——动态规划——Pku3265
摘要: 比较巧妙的动态规划。用f[i][j]表示第i个月,总工作了j道题目(从1~j),所能剩余的最多钱数。状态转移方程如下:f[i][j]=Max(m-∑b[j]-∑b[k]){其中,k应当满足f[i-1][k]>=∑a[j]-∑a[k]}注意最后输出的应该是ans+1,因为第一个月实际上是没有收入的。代码:Program Psolve;//By_ThispoetConst maxn=300;Var i,j,k,m,n,p,q,ans :Longint; a,b :Array[0..maxn]of Longint; f :Array[0..maxn*2,0..... 阅读全文
posted @ 2011-09-20 07:22 This_poet 阅读(484) 评论(6) 推荐(0)
 
POJ3101 Astronomy——高精度+分解质因子法求GCD和LCM——Pku3101
摘要: 经典的求分数GCD和LCM的题目。方法:分别求出每个行星对于第一颗行星的相对速度,设其为ai/bi,那么答案就是乘上的一个最小的分数使得所有ai/bi与它相乘之后都为整数。那么这个分数就是:(所有bi的LCM)--------------(所有ai的GCD)用分解质因子的方法就可以求出这个分数了。注意要用高精度。代码如下:Program Astronomy;//By_ThispoetConst maxn=10000;Type arr=array[0..maxn]of Longint;Var i,j,k,m,n,tmp :Longint; t,fz,fm :Array[0..ma... 阅读全文
posted @ 2011-09-20 07:04 This_poet 阅读(1091) 评论(0) 推荐(0)