题面

看起来很水,然而不会DP的蒟蒻并不会做,PoPoqqq orz

设$f[i][j]$表示当前在第$i$个点和第$i+1$个点之间查票,已经查了$j$次的最大收益。然后就是那种很常见的枚举前一个结尾的转移,主要是贡献的求法,从$x$到$y$的贡献是$val[(x+1,y+1)][(y,n)]$(二维前缀和一下)。对于方案就在更新时记录上一个结尾即可

 #include<cstdio>
#include<cstring>
#include<algorithm>
using namespace std;
const int N=,K=;
int fsum[N][N],dp[N][K],las[N][K],outp[K];
int n,k,ans,cnt,pos;
int main ()
{
scanf("%d%d",&n,&k);
for(int i=;i<n;i++)
for(int j=i+;j<=n;j++)
scanf("%d",&fsum[i][j]);
for(int i=;i<=n;i++)
for(int j=;j<=n;j++)
fsum[i][j]+=fsum[i-][j]+fsum[i][j-]-fsum[i-][j-];
memset(dp,0xcf,sizeof dp),dp[][]=;
for(int i=;i<n;i++)
for(int j=;j<=k;j++)
for(int h=;h<i;h++)
{
int tmp=fsum[i][n]-fsum[h][n]-fsum[i][i]+fsum[h][i];
if(dp[h][j-]+tmp>dp[i][j]) {dp[i][j]=dp[h][j-]+tmp; las[i][j]=h;}
}
for(int i=;i<n;i++)
if(dp[i][k]>ans) ans=dp[i][k],pos=i;
while(k) outp[++cnt]=pos,pos=las[pos][k--];
sort(outp+,outp++cnt);
for(int i=;i<=cnt;i++)
printf("%d ",outp[i]);
return ;
}

解题:POI 2009 Ticket Inspector的更多相关文章

  1. 解题:POI 2009 Fire Extinguishers

    题面 洛谷数据非常水,建议去bzoj 我第一眼一看这不是那个POI2011的升级版吗(明明这个是2009年的,应该说那个是这个的弱化版,果然思想差不多. 因为$k$很小,可以考虑每个间隔距离来转移.我 ...

  2. 解题:POI 2009 TAB

    题面 这也算是个套路题(算吗)?发现换来换去每行每列数的组成是不变的,那么就把每行每列拎出来哈希一下,复杂度$O(Tn^2log$ $n)$有点卡时=.=. 然而正解似乎不需要哈希,就像这样↓ ;i& ...

  3. 解题:POI 2009 Lyz

    题面 板板讲的霍尔定理 霍尔定理:一张二分图有完全匹配的充要条件是对于任$i$个左部点都有至少$i$个右部点与它们相邻.放在这个题里就是说显然最容易使得鞋不够的情况是一段连续的人,那就维护一下最大子段 ...

  4. [POI 2009]Lyz

    Description 题库链接 初始时滑冰俱乐部有 \(1\) 到 \(n\) 号的溜冰鞋各 \(k\) 双.已知 \(x\) 号脚的人可以穿 \(x\) 到 \(x+d\) 的溜冰鞋.有 \(m\ ...

  5. 【BZOJ 1115】【POI 2009】石子游戏Kam

    http://www.lydsy.com/JudgeOnline/problem.php?id=1115 差分后变成阶梯博弈. #include<cstdio> #include<c ...

  6. 洛谷 P3486 [POI2009]KON-Ticket Inspector

    P3486 [POI2009]KON-Ticket Inspector 题目描述 Byteasar works as a ticket inspector in a Byteotian Nationa ...

  7. [洛谷P3486]POI2009 KON-Ticket Inspector

    问题描述 Byteasar works as a ticket inspector in a Byteotian National Railways (BNR) express train that ...

  8. 【Nim 游戏】 学习笔记

    前言 没脑子选手随便一道博弈论都不会 -- 正文 Nim 游戏引入 这里给出最简单的 \(Nim\) 游戏的题目描述: \(Nim\) 游戏 有两个顶尖聪明的人在玩游戏,游戏规则是这样的: 有\(n\ ...

  9. 解题:POI 2016 Nim z utrudnieniem

    题面 出现了,神仙题! 了解一点博弈论的话可以很容易转化题面:问$B$有多少种取(diu)石子的方式使得取后剩余石子异或值为零且取出的石子堆数是$d$的倍数 首先有个暴力做法:$dp[i][j][k] ...

随机推荐

  1. pytorch 如何使用tensorboard实时查看曲线---- tensorboardX简介

    用惯了tensorflow的小伙伴肯定都用过tensorboard工具吧.虽然Facebook也推出了visdom,但是在一次不小心误触clear之后,我放弃了这个工具(页面的一个clear按钮我本来 ...

  2. notion笔记

    不错的笔记应用, 模式新颖, 正在使用, 如有相同使用者可以入群交流 notion QQ群 725638123

  3. 如何将office卸载干净

    我试了控制面板卸载office软件等方法,发现一直卸载不干净. 后发现这个office的官方链接,根据这个链接的步骤就很轻松的卸载好了. https://support.office.com/zh-c ...

  4. Scrum Meeting 报告

    Scrum Meeting 报告 ----团队项目所需时间估计以及任务分配 由于能力有限,我们还不能构架好一个大框架.但是初步可以完成任务的流程和分配.任务所需要的具体实现可以参看<学霸系统的N ...

  5. Buaaclubs的NABC与发布

    NEED: 本项目主要目的是实现一个社团学生公共平台,平台的宗旨是为学生提供信息,为社团提供服务,在社团和学生之间建立联系.经过调查,我们发现了用户的以下需求: 需求一:社团发布信息,同学获知信息 这 ...

  6. bug排查

    有时候让朋友,或者群友,或者同事帮忙看一样困扰你很久的bug会得到意向不到的结果. 因为他们往往不像你,已经在调试代码的过程中被一些东西给束缚了.他们会凭借自己的第一直觉来尝试解决问题,跳过你已经走的 ...

  7. Hibernate 延迟加载 分析

    出处:http://www.ibm.com/developerworks/cn/java/j-lo-hibernatelazy/#icomments Hibernate 的延迟加载(lazy load ...

  8. JAVA学习IO(1)

    面向过程和面向对象的区别:面向过程:把问题分析成一个一个步骤组成的过程面向对象:从一个问题中分析出各个功能对象,并描述各个功能在整个解决问题的步骤的行为.面向对象的3大特征:封装,继承,多态封装:把多 ...

  9. My复利计算程序测试报告

    My复利计算程序测试报告 4.0 单元测试----------------------------- 要求: 对我们和复利计算程序,写单元测试. 有哪些场景? 期待的返回值 写测试程序. 运行测试. ...

  10. 如何在Sql Server 2000中用一条语句实现树的查询

    以公司的网站栏目表为例,表结构(表名:Subject)如下:   字段名称 字段类型 字段长度 id int 4 NAME varchar 200 PARENTID int 4 CODE varcha ...