• 题意:有一长度为\(n\)的平台,平台有的位置有木桩,可以使小球弹起来,小球必须从第\(p\)个位置开始,而且每次都会向右弹\(k\)个单位,然后有的位置是没有木桩的,你可以在这些的空的位置放一个木桩,需要花费\(x\),在开始的时候,你可以删除前几个单位,每个单位花费\(y\),问最少花费多少使得小球能够弹出平台外.
  • 题解:刚开始看错题意了,以为可以删除任意位置的单位,结果发现这个动态的过程根本没办法维护,又重新看了一眼题面发现只能删去相对第一个单位,然后这题就是一道sb题了,我们可以记录一个后缀和,表示每个位置之后小球要弹的位置上总共有多少个\(1\),然后我们去枚举起点,更新最小值就行了.
  • 代码:
#include <bits/stdc++.h>
#define ll long long
#define fi first
#define se second
#define pb push_back
#define me memset
#define rep(a,b,c) for(int a=b;a<=c;++a)
#define per(a,b,c) for(int a=b;a>=c;--a)
const int N = 1e6 + 10;
const int mod = 1e9 + 7;
const int INF = 0x3f3f3f3f;
using namespace std;
typedef pair<int,int> PII;
typedef pair<ll,ll> PLL; int t;
int n,p,k;
string s;
int x,y;
int cnt[N]; int main() {
ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
cin>>t;
while(t--){
cin>>n>>p>>k;
cin>>s;
cin>>x>>y;
me(cnt,0,sizeof(cnt));
per(i,n-1,0){
if(i+k<=n-1) cnt[i]=cnt[i+k];
if(s[i]=='1'){
cnt[i]++;
}
}
int ans=INF;
rep(i,p-1,n-1){
int cost=(i-p+1)*y;
int cur=n-1-i;
cur/=k;
cur++;
if(cnt[i]<cur) cost+=(cur-cnt[i])*x;
ans=min(ans,cost);
}
cout<<ans<<'\n';
} return 0;
}

最新文章

  1. 扩展AuthorizeAttribute
  2. 我是一只IT小小鸟——读后感
  3. 十五天精通WCF——第三天 client如何知道server提供的功能清单
  4. C语言 复制字符串 malloc
  5. Greedy:Cow Acrobats(POJ 3045)
  6. IntelliJ IDEA中使用综合使用Maven和Struts2
  7. Windowsphone本地应用信息与市场信息的获取
  8. Nodejs_day01
  9. windows防火墙无法启动,服务不存在
  10. Wince 中的图形编程
  11. 【转】VC MFC 如何删除文件,目录,文件夹
  12. Node.js权威指南 (9) - 进程与子进程
  13. css基础(二)
  14. openSUSE设置局域网的时间同步
  15. 关于微信企业付款到零钱X509Certificate2读取证书信息,发布到服务器访问不到的解决方案
  16. [源码分析]StringBuffer
  17. python模块(os,sys,hashlib,collections)
  18. Java 集合系列(二)—— ArrayList
  19. java.lang.LinkageError: JAXB 2.0 API is being loaded from the bootstrap classloader
  20. jmeter奇淫妙计之遍历sql多列结果集

热门文章

  1. oracle 11g 安装与卸载
  2. Openstack Nova 控制服务 和 计算服务 (六)
  3. Ubuntu 18.04.4 LTS 更换国内系统源
  4. Maven学习笔记之第一个Maven项目(Linux)
  5. ps -p 进程号
  6. ORA-00245 control file backup operation failed 分析和解决
  7. [Noip模拟题]Seq
  8. MATLAB中load和imread的读取方式区别
  9. java虚拟机入门(三)- 你了解对象吗
  10. Python+Selenium+Unittest实现PO模式web自动化框架(7)