2017.9.23 C组比赛总结
今天又回到了C组,感觉爽歪歪~分数终于是个三位数了,yes!

第一题,赛车。水!只用一个贪心就可以AC了。
first,以速度为关键字小到大qsort一下。。。
scond,枚举每一个赛车,看看它可以去哪一个车道(取它开得最慢的那一个)。
then,输出答案。
finely,AC
第二题,数列。一眼望去,就是一道小学奥数题。
个位的1:N div 10+如果n mod 10 >0就是1,否则是0
十位的1:N div 10010+min(N%100,19)-9
百位的1:N div 1000100+min(N%1000,199)-99
……
以此类推,我们可以得到一条公式(自己推)。
第三题,炸僵尸。宽搜。

PS:这些僵尸怎么那么眼熟?那个炸弹是小星星从椰子加农炮那里偷的吧!
言归正传。
我们先预处理一下,开四个数组:
left[i][j]:表示第i行第j列的点左边(包括它自己)的僵尸数量。
right[i][j]:表示第i行第j列的点右边(包括它自己)的僵尸数量。
up[i][j]:表示第i行第j列的点上面(包括它自己)的僵尸数量。
down[i][j]:表示第i行第j列的点下面(包括它自己)的僵尸数量。
注意墙!
然后对于一个没有僵尸的点,设它的坐标为(i,j),那么在它那里引爆就可以炸死left[i][j]+right[i][j]+up[i][j]+down[i][j]只僵尸。
然而比赛时80分,后来改到90分,最后的数据:
我输出26,正确答案24!
改了很久也没有对。
看标程时,发现标程的date数组(存走到过的点),只开到了10^5那么大,开小了!还没有走到可以炸26只僵尸的那个点就崩了(为什么不会运行时错误?!)。
于是告诉了老师这个问题,改了一下数据就AC了。
下面附上标程。
第四题,梦里的难题,很坑。
小星星真是的,胆子小还去看这种电影!
比赛时由于看了一下B组的题,还想了很久,时间不够用,就弃疗了。
只用把这串数字分成尽量多的几组,每一组都包含1~K的所有数,最后输出分的组数+1就可以了。
总结:不要浪费时间,下次继续努力!
第三题标程:
#include<cstdio>
using namespace std;
struct coordinate
{
int x,y;
}date[4000100];
char map[2010][2010];
int left[2010][2010],right[2010][2010],up[2010][2010],down[2010][2010];
bool b[2010][2010];
const int dx[4]={1,0,-1,0},
dy[4]={0,1,0,-1};
int main()
{
freopen("boom.in","r",stdin);
freopen("boom.out","w",stdout);
int n,m,tx,ty,i,j,head=0,tail=1,xx,yy,ans=0,k;
scanf("%d %d %d %d\n",&n,&m,&tx,&ty);
for(i=1;i<=n;i++)
{
for(j=1;j<=m;j++)
{
scanf("%c",&map[i][j]);
if(map[i][j]=='#') left[i][j]=up[i][j]=0;
else
{
left[i][j]=left[i][j-1];
up[i][j]=up[i-1][j];
if(map[i][j]=='G')
{
left[i][j]++;
up[i][j]++;
}
}
}
scanf("\n");
}
for(i=n;i>0;i--)
{
for(j=m;j>0;j--)
{
if(map[i][j]=='#') right[i][j]=down[i][j]=0;
else
{
right[i][j]=right[i][j+1];
down[i][j]=down[i+1][j];
if(map[i][j]=='G')
{
right[i][j]++;
down[i][j]++;
}
}
}
}
date[1].x=tx,date[1].y=ty;
b[tx][ty]=true;
while(head<tail)
{
head++;
xx=date[head].x,yy=date[head].y;
k=left[xx][yy]+right[xx][yy]+up[xx][yy]+down[xx][yy];
if(k>ans) ans=k;
for(i=0;i<4;i++)
{
xx=date[head].x+dx[i];
yy=date[head].y+dy[i];
if(map[xx][yy]=='.')
{
if(!b[xx][yy])
{
b[xx][yy]=true;
tail++;
date[tail].x=xx;
date[tail].y=yy;
}
}
}
}
printf("%d\n",ans);
return 0;
}
2017.9.23 C组比赛总结的更多相关文章
- 2017.10.28 C组比赛总结
这次比赛有点坑... [GDKOI2004]石子游戏 方法:判断奇偶性 输入n 如果n是奇数,输出 xiaoshi 如果n是偶数,输出 xiaoyong 比赛得分:30 错因:找错规律了(忘记了两个人 ...
- 2017.10.21 C组比赛总结
今天考得不太好,只拿了100+0+0+30=130分... [GDKOI训练]音乐节拍 考场AC了! 其实就是大水一道! 思路:二分查找 每次输入后,输出该时刻所在的区间的编号就好了. 总体难度:★★ ...
- IGF职业组比赛
IGF职业组比赛 参赛资格: 面向亚太区所有独立游戏开发者(参见详细规则) 截止日期: 2015年7月20日 2015年IGF职业组七大奖项设置如下: * 最佳游戏(RMB20, 000) * 最佳移 ...
- 总结 Date 2017.09.23
总结 Date 2017.09.23 <1>统计数字 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*10^9).已知不相同的数不超过10000个,现在需要统计 ...
- 2016.8.15上午纪中初中部NOIP普及组比赛
2016.8.15上午纪中初中部NOIP普及组比赛 链接:https://jzoj.net/junior/#contest/home/1333 这次比赛不怎么好,因为这套题目我并不是很擅长. 可同学们 ...
- 2016.9.15初中部上午NOIP普及组比赛总结
2016.9.15初中部上午NOIP普及组比赛总结 2016.09.15[初中部 NOIP普及组 ]模拟赛 又翻车了!表示时超和空超很可恨! 进度 比赛:AC+0+0+20=120 改题:AC+80+ ...
- 2016.9.10初中部上午NOIP普及组比赛总结
2016.9.10初中部上午NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1340 好不爽!翻车了!不过排名差不多在中间偏上一点, 还好不是 ...
- 2016.9.3初中部上午NOIP普及组比赛总结
2016.9.3初中部上午NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1339 这次真爽,拿了个第四!(我还被班主任叫过去1小时呢!) 进 ...
- 2016.8.19上午初中部NOIP普及组比赛总结
2016.8.19上午初中部NOIP普及组比赛总结 链接:https://jzoj.net/junior/#contest/home/1338 这次总结发得有点晚啊!我在这里解释一下, 因为浏览器的问 ...
随机推荐
- CF G. Indie Album AC自动机+fail树+线段树
这个套路挺有意思的. 把 $trie$ 和 $fail$ 树都建出来,然后一起跑一跑就好了~ #include <queue> #include <cstdio> #inclu ...
- BZOJ 3940 Censoring ( Trie 图 )
题目链接 题意 : 中文题.点链接 分析 : 直接建 Trie 图.在每一个串的末尾节点记录其整串长度.方便删串操作 然后对于问询串.由于可能有删串操作 所以在跑 Trie 图的过程当中需要拿个栈记录 ...
- POJ 3422 矩阵取数 最小费用流拆点+负边
Kaka's Matrix Travels Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 9153 Accepted: ...
- TTTTTTTTTTT 400D Dima and Bacteria 细菌 最短路
题意: 题目大意:给出n,m和k,表示有n个细菌,m种仪器和k种细菌,给出k种细菌的数量ci,然后每个细菌按照种类排成一排(所以有第i种细菌的序号从∑(1≤j≤i-1)cj + 1 到∑(1≤j≤i) ...
- maven web项目的web.xml报错The markup in the document following the root element must be well-formed.
maven项目里面的web.xml开头约束是这样的 <?xml version="1.0" encoding="UTF-8"?> <web-a ...
- Netflix的Ribbon主要负载均衡策略
1.简单轮询负载均衡 2.加权响应时间负载均衡 3.随机负载均衡 4.区域感知轮询负载均衡
- 数据框架对比:Hadoop、Storm、Samza、Spark和Flink——flink支持SQL,待看
简介 大数据是收集.整理.处理大容量数据集,并从中获得见解所需的非传统战略和技术的总称.虽然处理数据所需的计算能力或存储容量早已超过一台计算机的上限,但这种计算类型的普遍性.规模,以及价值在最近几年才 ...
- 高并发架构系列:Redis为什么是单线程、及高并发快的3大原因详解
Redis的高并发和快速原因 1.redis是基于内存的,内存的读写速度非常快: 2.redis是单线程的,省去了很多上下文切换线程的时间: 3.redis使用多路复用技术,可以处理并发的连接.非阻塞 ...
- openssl-1.0.1u静态库编译
不管Windows还是linux都是需要安装好perl环境的 Windows步骤 1.解压openssl-1.0.1u.tar.gz 2.使用Vs2005命令行工具进入解压后的目录 3.执行如下命令 ...
- leetcode-easy-math-13 Roman to Integer
mycode 97.21% class Solution(object): def romanToInt(self, s): """ :type s: str :rty ...