bzoj1133: [POI2009]Kon

链接

https://www.lydsy.com/JudgeOnline/problem.php?id=1133

思路

f[i][k]表示前i个,选了k个,其中必选i的最大值

f[i][k]=f[j][k-1]+贡献

这个贡献就是j到i之间的边界碰到i的人数(可以预处理个前缀和)

复杂度O(nnk)

错误

貌似输出方案错了还是神马的,90分

不过bzoj数据都过了呀,bzoj还会改数据吗

错误代码

#include <bits/stdc++.h>
using namespace std;
const int N=607,M=57;
int read() {
int x=0,f=1;char s=getchar();
for(;s>'9'||s<'0';s=getchar()) if(s=='-') f=-1;
for(;s>='0'&&s<='9';s=getchar()) x=x*10+s-'0';
return x*f;
}
int n,K,f[N][M],sum[N][N],frm[N][M];
int stak[N],top;
int main() {
n=read(),K=read();
for(int i=1;i<=n;++i)
for(int j=i+1;j<=n;++j)
sum[i][j]=sum[i][j-1]+read();
for(int k=1;k<=K;++k) for(int i=1;i<=n;++i){
int tot=0;
for(int j=i;j>=1;--j) {
tot+=sum[j][n]-sum[j][i];
if(f[i][k]==f[j-1][k-1]+tot) frm[i][k]=min(frm[i][k],j-1);
if(f[i][k]<f[j-1][k-1]+tot) {
f[i][k]=f[j-1][k-1]+tot;
frm[i][k]=j-1;
}
}
}
int ma=0,x_x=0;
for(int i=1;i<=n;++i) {
if(ma<f[i][K]) ma=f[i][K],x_x=i;
}
while(K) {
stak[++top]=x_x;
x_x=frm[x_x][K--];
}
while(top--) printf("%d ",stak[top+1]);
return 0;
}

bzoj1133: [POI2009]Kon的更多相关文章

  1. bzoj 1133: [POI2009]Kon dp

    1133: [POI2009]Kon Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 242  Solved: 81[Submit][Status][D ...

  2. [POI2009]Kon

    Description 火车沿途有N个车站,告诉你从每一站到每一站的人数,现在查票员只能查K次票,每次查票可以控制目前在车上的所有乘客的车票.求一个查票方案,使得控制的不同的乘客尽量多. (显然对同一 ...

  3. bzoj AC倒序

    Search GO 说明:输入题号直接进入相应题目,如需搜索含数字的题目,请在关键词前加单引号 Problem ID Title Source AC Submit Y 1000 A+B Problem ...

  4. BZOJ 1115: [POI2009]石子游戏Kam

    1115: [POI2009]石子游戏Kam Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 883  Solved: 545[Submit][Stat ...

  5. BZOJ 1142: [POI2009]Tab

    1142: [POI2009]Tab Time Limit: 40 Sec  Memory Limit: 162 MBSubmit: 213  Solved: 80[Submit][Status][D ...

  6. 【BZOJ】【1115】【POI2009】石子游戏KAM

    博弈论 这个题……一看就觉得很捉急啊= =肿么办? 灵光一现:差分一下~ 那么我们看一下差分以后,从第 i 堆中拿走 k 个石子变成了:a[i]-=k; a[i+1]+=k; 嗯这就转化成了阶梯博弈! ...

  7. bzoj 1138: [POI2009]Baj 最短回文路 dp优化

    1138: [POI2009]Baj 最短回文路 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 161  Solved: 48[Submit][Sta ...

  8. BZOJ1135: [POI2009]Lyz

    1135: [POI2009]Lyz Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 264  Solved: 106[Submit][Status] ...

  9. BZOJ1119: [POI2009]SLO

    1119: [POI2009]SLO Time Limit: 30 Sec  Memory Limit: 162 MBSubmit: 379  Solved: 181[Submit][Status] ...

随机推荐

  1. Unity 为队伍设置不同颜色的shader

    在魔兽争霸等一些游戏中,我们通过模型的颜色就能很轻松的区分队伍,如下:   实现的方法有很多,比如: 1,为不同队伍各出一张不同颜色的贴图(Hmmm,war3有的地图可以容纳12只队伍,美术大大们会很 ...

  2. python 中字符串的格式化

    # 字符串格式化name = input("name:")age = int(input("age:"))job = input("job:" ...

  3. UI常用接口使用规范

    //////////////////////////////////////////////////////////////////////////////////////////////// /// ...

  4. python语法_变量及命名规则

    变量:存储信息的,日后被调用,修改操作 常量:固定不变的量,字母大写 变量命名规则: 1 有字母,数字以及下划线等符号组成 2 区分大小写 3 不能使用数字开头,不能含有特殊字符和空格 4 不能使用 ...

  5. 手写AVL 树(上)

    平衡二叉树 左旋,右旋,左右旋,右左旋 具体原理就不说了,网上教程很多.这里只实现了建树的过程,没有实现删除节点的操作. 下一篇会实现删除节点的操作. // // main.cpp // AVL // ...

  6. PAT甲级1057 Stack【树状数组】【二分】

    题目:https://pintia.cn/problem-sets/994805342720868352/problems/994805417945710592 题意:对一个栈进行push, pop和 ...

  7. emcc,wasm,webassembly

    WASM: https://github.com/Hanks10100/wasm-examples/tree/master/simple mkdir hello cd hello echo '#inc ...

  8. 作业二 分布式版本控制系统Git的安装与使用

    第一步:Git bash配置 修改用户名和邮箱地址: $ git config --global user.name "zzj" $ git config --global use ...

  9. XSS笔记

    XSS测试代码: <img src="javascript:alert(/xss/)"> <script src=http://evil.com/xss.js&g ...

  10. JDBC事务(二)转账示例

    示例采用三层框架 web层: package cn.sasa.web; import java.io.IOException; import javax.servlet.ServletExceptio ...