NOIP 模拟赛
Day 1
题目名称LGTB 玩扫雷LGTB 学分块LGTB 打THD
英文代号mine divide thd
时限1 秒1 秒1 秒
输入文件mine.in divide.in thd.in
输出文件mine.out divide.out thd.out
内存限制64Mb 64Mb 64Mb
测试点个数10 10 20
总分100 100 100
时间:2014 年10 月4 日
1
LGTB 玩扫雷
在一个n m 的棋盘上,有位置上有雷(用“*” 表示),其他位置是空地(用“.” 表示)。
LGTB 想在每个空地上写下它周围8 个方向相邻的格子中有几个雷。
请帮助他输出写了之后的棋盘
输入
输入第一行包含两个整数n, m 代表棋盘大小
接下来n 行,每行m 个字符,代表棋盘
1 n,m 1000
输出
输出包含n 行,每行m 个字符,代表LGTB 写了数字之后的棋盘
样例
样例输入样例输出
3 3
*.*
...
*.*
*2*
242
*2*
2
LGTB 学分块
LGTB 最近在学分块,但是他太菜了,分的块数量太多他就混乱了,所以只能分成3 块
今天他得到了一个数组,他突然也想把它分块,他想知道,把这个数组分成3 块,块可以为空。假设3 块各
自的和中的最大值最小
请输出分完之后3 块中的最大值
输入
输入第一行包含一个整数n 代表数组大小
接下来n 个整数a1, a2, ..., an,代表数组
对于40% 的数据,1 n 10
对于70% 的数据,1 n 103
对于100% 的数据,1 n 105, 1 ai 107
输出
输出包含1 个整数,代表分块完成后3 块中的最大值
样例
样例输入样例输出
10
2 5 1 4 7 3 6 2 5 1
14
3
LGTB 玩THD
LGTB 最近在玩一个类似DOTA 的游戏名叫THD
有一天他在守一座塔,对面的N 个小兵排成一列从近到远站在塔前面
每个小兵有一定的血量hi,杀死后有一定的金钱gi
每一秒,他都可以攻击任意一个活着的小兵,对其造成P 点伤害,如果小兵的血量低于1 点,小兵死亡,他
得到金钱。他也可以不攻击任何小兵。
每一秒LGTB 攻击完毕之后,塔会攻击距离塔最近的一个活着的小兵,对其造成Q 点伤害,如果小兵的血
量低于1 点,小兵死亡,LGTB 不会得到金钱
现在LGTB 想知道,在他选择最优策略时,他能得到多少钱。
输入
输入第一行包含3 个整数P, Q, N
接下来N 行,每行包含2 个整数hi, gi
第i 个小兵和塔之间的距离为i
输入的意义如题面所示
对于20% 的数据,1 N 4
对于50% 的数据,1 N 20
对于100% 的数据,20 P,Q 200, 1 N 100, 1 hi 200, 0 gi 106
输出
输出包含一个整数W,代表LGTB 最多能获得的金钱
样例
样例输入样例输出
20 60 3
80 100
80 200
120 300
500
4

 #include<fstream>
using namespace std;
char a[][];
const int d[][]={{-,},{-,},{,},{,},{,},{,-},{,-},{-,-}};
int n;int m;
int main(){
ifstream fin("mine.in");
ofstream fout("mine.out"); fin>>n>>m; for(int i=;i<=n;i++)
for(int j=;j<=m;j++)
fin>>a[i][j]; for(int i=;i<=n;i++)
for(int j=;j<=m;j++){
if(a[i][j]=='.'){
a[i][j]='';
for(int k=;k<;k++){
int h=i+d[k][];
int p=j+d[k][];
if(a[h][p]=='*')a[i][j]++;
}
}
} for(int i=;i<=n;i++)
fout<<&a[i][]<<endl;
return ;
}
 #include<fstream>
using namespace std;
class divide{
public:
static long long binary_divide(long long * ps,int L,int R){
int lft=L;int rght=R;
long long best=1e12;
while(lft<rght){
int m=(lft+rght)>>;
long long s1=ps[m]-ps[L-];
long long s2=ps[R]-ps[m];
long long t=max(s1,s2);
if(t<best)best=t;
if(s1==s2)break;
if(s1<s2)lft=m+;
else rght=m;
}
return best;
}
};
int n;int a[];
long long ps[];
long long ans=1e12;
int main(){
ifstream fin("divide.in");
ofstream fout("divide.out");
fin>>n; for(int i=;i<=n;i++)
fin>>a[i]; if(n==){
fout<<a[]<<endl;
return ;
} if(n==){
fout<<max(a[],a[])<<endl;
return ;
} if(n==){
fout<<max(a[],max(a[],a[]))<<endl;
return ;
} for(int i=;i<=n;i++)
ps[i]=ps[i-]+a[i]; for(int i=;i<n;i++){
long long s1=ps[i];
long long s2=divide().binary_divide(ps,i+,n);
long long t=max(s1,s2);
if(t<ans)ans=t;
} fout<<ans<<endl;
return ;
}
 #include<fstream>
#include<algorithm>
using namespace std;
const int bld=;
const int scr=;
class thd{
public:
static void dynamicProgramming(int (* soldier)[],int (*m)[],int n,int p,int q){
for(int i=;i<=n;i++)
fill(m[i],m[i]+,-1e9);
m[][]=;
for(int i=;i<=n;i++){
int * s=soldier[i];
int t=(s[bld]+q-)/q;
int h=(s[bld]-q*t+q+p-)/p;
for(int j=;j<=;j++){
if(j-t>=)m[i][j]=m[i-][j-t];
if(j+h-t+>=&&(m[i-][j+h-t+]+s[scr])>m[i][j]){
m[i][j]=m[i-][j+h-t+]+s[scr];
}
}
}
}
}; int soldier[][];
int m[][];
int n;int p;int q;int best=-1e9;
int main(){
ifstream fin("thd.in");
ofstream fout("thd.out");
fin>>p>>q>>n;
for(int i=;i<=n;i++)
fin>>soldier[i][bld]>>soldier[i][scr];
thd().dynamicProgramming(soldier,m,n,p,q); for(int i=;i<=;i++)
if(m[n][i]>best)best=m[n][i]; fout<<best<<endl;
return ;
}

explanation

m[i][j]means kill soldier i with j attacktion remain.

NOIP simulation的更多相关文章

  1. Solution Set - 神奇 NOIP 模拟赛

    \[\mathfrak{\text{Defining }\LaTeX\text{ macros...}}\newcommand{\vct}[1]{\boldsymbol{#1}}\newcommand ...

  2. NOIP模板整理计划

    先占个坑 [update]noip结束了,弃了 一.图论 1.单源最短路 洛谷P3371 (1)spfa 已加SLF优化 #include <iostream> #include < ...

  3. NOIp 11.11/12

    最后一场比较正式的NOIp模拟赛,写一发小总结.题目没什么好说的,大部分很简单,先贴一下代码. 1111 T1 //string //by Cydiater //2016.11.11 #include ...

  4. NOIp 1109

    停课后的第一场模拟赛,应该不会怎么说今天的模拟赛,除了第一题不知道那种筛法的复杂度是$log$的没敢写,其他都挺水的.另外,第三题的数据也弱化了,建议去这里再交一遍. 贴一下AC代码,有兴趣可以参考一 ...

  5. NOIp 2016 总结

    NOIp 2016 总结 -----YJSheep Day 0 对于考前的前一天,晚自习在复习图论的最短路和生成树,加深了图的理解.睡得比较早,养足精力明日再战. Day 1 拿到题目,先过一边,题目 ...

  6. 历年NOIP水题泛做

    快noip了就乱做一下历年的noip题目咯.. noip2014 飞扬的小鸟 其实这道题并不是很难,但是就有点难搞 听说男神错了一个小时.. 就是$f_{i,j}$表示在第$i$个位置高度为$j$的时 ...

  7. [杂谈]冲NOIP一等奖。。

    唉不想多说了. 真是一段“传奇”的经历啊. 还是那句话..“是的我上次什么都没说就走了...”这次也一样. 我还是太单纯的以为我们是肯定能够参加北大的夏令营的..然而结果真是意料之外啊. 本来我以为我 ...

  8. 【最后的抒情】【离NOIP还有9个小时】

    学了NOIP 大概十一个月左右,中途的插班生.从2015年12月底开始学信息竞赛,在寒假的时候还笑着我还有九个月才考试呢,生竞就只有两个月了.没错我是从生物竞赛转过来的.记得当初写申请的时候,写的理由 ...

  9. Ubuntu 配置 no-ip

    安装Python开发依赖包 sudo apt-get install python-dev 配置PIP并安装noipy sudo apt-get install python-pip sudo pip ...

随机推荐

  1. MVC项目不同域之间的UrlRouting

    一.DomainAction,方便生成不同域下的url 1.新建3个MVC项目,一个公用类库WebCore Demo.WebApplication0 绑定域名 www.demo.com demo.co ...

  2. 漂亮的表格样式–>使用CSS样式表控制表格样式

    依照WEB2.0风格,设计了几个表格样式,希望大家喜欢.WEB2.0提倡使用div开布局,但不是要完全放弃使用表格,表格在数据展现方面还是不错的选择.现在介绍使用CSS样式表来控制.美化表格的方法. ...

  3. Core Data 入门

    1. 基本概念 Core Data是一种被称为对象关系映射(Object-Relational Mapping,ORM)技术的实现. Core Data 架构图如下: 五个概念: (1)数据模型(Da ...

  4. mysqldump test

    CREATE TABLE IF NOT EXISTS `runoob_tbl`( `runoob_id` INT UNSIGNED AUTO_INCREMENT, `runoob_title` VAR ...

  5. linux安装wifi驱动,开热点

    本次安装的debian系统安装的时候提示wifi硬件需要安装非自由固件才能运行,并告诉本硬件要安装的固件名字叫做iwlwifi-2030-6.ucode.是iwlwifi驱动适配我的wireless硬 ...

  6. Apache Hive (七)Hive的DDL操作

    转自:https://www.cnblogs.com/qingyunzong/p/8723271.html 库操作 1.创建库 语法结构 CREATE (DATABASE|SCHEMA) [IF NO ...

  7. 用Box2d物理引擎设计类似愤怒小鸟投篮游戏 物理引擎的引入和基本框架搭建

  8. 远程连接MySQL数据库报错:is not allowed to connect to this MYSQL server的解决办法

    1. 改表法. 可能是你的帐号不允许从远程登陆,只能在localhost.这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 " ...

  9. servicestack.redis工具类

    using System;using System.Collections.Generic;using System.Linq;using ServiceStack.Redis;using Servi ...

  10. "分辨率"到底是个什么概念?它和DPI之间是什么关系?

    "分辨率"到底是个什么概念?它和DPI之间是什么关系? 分辨率:显示分辨率(屏幕分辨率)是屏幕图像的精密度,是指显示器所能显示的像素有多少.由于屏幕上的点.线和面都是由像素组成的, ...