题意:有一个单行走廊,每回合第ai个展柜会冒出来一只鬼,右边尽头有一个人间大炮和向最左传送门(费用均1金币),你需要每回合将所有鬼交换展柜,全部至最右,问若从一到n所有回合结束是需多少金币可射死所有鬼。

思路:花一块可将一只鬼挪至最右,然后使用一个指针储蓄最右有几个鬼,然后相减就可以了。

见代码:

#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
int n,k,a[],b[];
bool c[];
int main()
{
freopen("coin.in","r",stdin);
freopen("coin.out","w",stdout);
cin>>n;
k=n;
b[]=;
for(int i=;i<=n;i++)
{
cin>>a[i];
c[a[i]]=true;
if(a[i]==k)
{
while(c[k]==true)
k--;
if(k==n-i)
b[i]=;
else
b[i]=b[i-];
}
else
b[i]=+b[i-];
}
for(int i=;i<=n;i++)
cout<<b[i]<<" ";
return ;
}

又双叒叕炸掉了!

原因是部分在右部分不在右的情况未考虑清。

见代码*2:

#include<iostream>
using namespace std;
int n,k,a[],b[];
bool c[];
int main()
{
cin>>n;
k=n;
b[]=;
for(int i=;i<=n;i++)
{
cin>>a[i];
c[a[i]]=true;
b[i]=b[i-]+;
if(a[i]==k)
{
while(c[k]==true)
{
b[i]--;
k--;
}
}
}
for(int i=;i<=n;i++)
cout<<b[i]<<" ";
return ;
}

好题哉!!!

嵊州普及Day4T2的更多相关文章

  1. 嵊州普及Day1T2

    题意:走迷宫.求走到a[n][n]需要多久. 考场上想的dfs,听老师说最多50分.代码懒得码了,知道是走迷宫就好. 正解:bfs,时间复杂度O(n). 见代码: #include<iostre ...

  2. 嵊州普及Day6T3

    题意:n个点,对于q个询问,有t秒及一个矩形的范围.在此矩形内的数每秒加1,若等于c,则下一秒变为0. 思路:t可能很大,%c+1就可以了.然后一个一个加起来就可以了. 见代码: #include&l ...

  3. 嵊州普及Day6T1

    题意:有一个矩形,由正负整数构成.一个位子的魅力值为相邻的格子,若与邻格同号则减去绝对值,若异号则加上绝对值. 思路:一个格子一个格子计算即可,没什么好说的. 见代码: #include<ios ...

  4. 嵊州普及Day5T4

    题意:两个1,每次可将一个*k,一个*K2,n个问题,问能否达成x,y? 思路:只有将x,y相乘为3次方时,才可能.并且相乘的三次方一定要是x,y的因子. 下面证明:3次方易证,因为对每个k,都会乘三 ...

  5. 嵊州普及Day5T2

    题意:将(w,h)的纸条折成(W,H),最少需几步. 思路:横竖互不干扰,然后最多可折int型一半,拿个函数判断两次比较即可,然后折不了的条件是需要的矩形大于给的矩形. 见代码: #include&l ...

  6. 嵊州普及Day5T1

    题意:有n个商店,自家商店的定价不可高于任何一家商店定价,求自家商店最高定价. 思路:拿个变量打擂台即可,不用解释太多. 见代码: #include<iostream> #include& ...

  7. 嵊州普及Day4T1

    题意:从n个数中选出k个数,使他们任意两数之差都等于m. 思路:任意差值都等于m,不就等价于k个数模m余数相同吗? 然后桶排储蓄一下各数余数即可. 见代码: #include<iostream& ...

  8. 嵊州普及Day4T4

    题意:求最长上升序列长度和方案数. 思路:经典DP,不需什么别的东西,加一个数组储蓄程序数即可,原题300000可能N2会有问题,但问题不大. 见代码: #include<iostream> ...

  9. 嵊州普及Day3T2

    题意:对于n数列的全排列,有多少种可能,是每项前缀和不能整除3.输出可能性%1000000000037. 思路:全部模三,剩余1.2.0,1.2可这样排:1.1.2.1.2.1.2.……2或2.2.1 ...

随机推荐

  1. android: 根据文件uri 获取文件名

    public static String getFileRealNameFromUri(Context context, Uri fileUri) { if (context == null || f ...

  2. vue+element ui table组件封装,使用render渲染

    后台管理经常会用到表格,一开始封装了一个常用的功能性表格,点击这里: 后来由于需求增加,在表格中还会用到switch,select,input等多种组件,每次都要在html中增加<el-tabl ...

  3. url转码。

    Javascript 中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,deco ...

  4. 安装 Python 虚拟环境 (Linux)

    我的 Ubuntu 18.04 预安装了 python 3.6,但是没有安装 pip,所以先进行安装: apt-get install python-pip 1. 安装虚拟环境所需包: pip ins ...

  5. 操作系统OS - fork bomb(Windows)

    1. Type %0|%0 2. Save the file to your desktop as anything.bat

  6. python 可视化 pyecharts

    github搜索pyecharts https://github.com/pyecharts/pyecharts echarts : https://www.echartsjs.com/zh/inde ...

  7. fiddler 保存请求数据并发送到自己的服务器接口

    通过Rules菜单打开 Customize Rules 搜索 OnBeforeResponse 方法,再方法后面添加如下代码: if (oSession.fullUrl.Contains(" ...

  8. P1029最大公约数和最小公倍数

    P1029最大公约数和最小公倍数 #include <iostream> #include <cmath> #include <algorithm> #define ...

  9. 1 Struts2基本概述及其入门

    什么是Struts2? webwork+Struts1 一个基于MVC设计模式的web层框架,本质上相当于一个Servlet.. 在MVC设计模式中,Struts2作为控制器Controller来建立 ...

  10. 汇编语言从入门到精通-5微机CPU的指令系统1

    微机CPU的指令系统 5.1 汇编语言指令格式 为了介绍指令系统中指令的功能,先要清楚汇编语言是如何书写指令的,这就象在学习高级语言程序设计时,要清楚高级语言语句的语义.语法及其相关规定一样. 5.1 ...