首先是签到题部分:A,E,I.    传送门:点击打开链接

然后是DP部分:C,G,H.        传送门:点击打开链接

还有其他:B,J,H,F.

神奇的B题(我的第一个一血)

问题 B: 拯救小鸡

时间限制: 1 Sec   内存限制: 128 MB
提交: 73   解决: 36
[ 提交][ 状态][ 讨论版]

题目描述

鸡国最近遇到了一件很棘手的事情,经常有一只老鹰想来抓小鸡。经鸡国情报员探查,这只老鹰打算共来袭击 n 次,第 i 次来的时刻为第 t i  (1≤i≤n)  秒时刻。 
鸡国国王为了保护鸡国中的小鸡,决定派出鸡国警察(鸡国有无穷多个警察)来巡逻。
每个警察巡逻的时间长度都为 t 秒。当老鹰来袭击的时刻至少要有 x 名警察才能抵御老鹰的袭击。另外国王派遣警察有两个原则: 
(1)每个时刻最多只能派遣一名警察。在第 0 秒时刻及第 0 秒之前的时刻(鸡国有负数时刻)也可以事先准备派遣警察,但每个时刻最多也只能派遣一名警察。 
(2)延迟 1 秒执行巡逻任务。第 i 秒时刻派遣的警察,在第 i+1 到 i+t 秒时刻执行巡逻任务。 
为帮助国王节省开支,请帮忙计算至少需要派遣多少名警察才能保证鸡国小鸡不被老鹰抓走? 

输入

输入共 2 行。 
第 1 行输入三个整数 n,t,x,分别表示老鹰总共袭击次数,每个警察巡逻的时间长度为,以及某个时刻能抵挡住老鹰袭击的最少警察数量。 
第 2 行 n 个严格升序排列的正整数 t i  (1≤i≤n),表示第 t i 秒时刻老鹰会发动袭击。 

输出

输出 1 行一个整数,表示总共至少需要派遣多少个警察才能抵御老鹰的 n 次袭击,如果出现无法抵御老鹰的袭击时,输出“-1”(不包含双引号)。 

样例输入

3 3 3
2 3 4

样例输出

5

做题的时候没看榜,一看初中组,感觉不会太难,就按顺序做,一小时左右A到,才发现是B题的一血。

这题真没想到模拟也可以过,还不超时。这题最终可以归结为求重复区间的问题,枚举时间轴,时间的区间是固定的。用数组标记老鹰出现的时间小鸡的个数,枚举时间的左端点,再枚举老鹰出现的时间,若重合,则+1.最后扫一遍标记数组,如有未达到目标的,直接输出-1.

代码实现:

#include<iostream>
#include<algorithm>
#include<cstring>
#include<cstdio>using namespace std;int main()
{int n,t,x,a[100005],i,j,count,visit[100005];while(cin>>n>>t>>x){memset(visit,0,sizeof(visit));for(i=0;i<n;i++)cin>>a[i];int flag=0,ans=0;for(j=a[0]-t+1;j<=a[n-1];j++){for(i=0;i<n;i++){if(j+t>a[i]){visit[i]++;}}ans++;if(visit[n-1]>x)break;}for(i=0;i<n;i++)if(visit[i]<x)flag=1;if(flag)cout<<"-1"<<endl;elsecout<<ans<<endl;}return 0;
}

简单的J题

问题 J: 【搜索】泡泡龙

时间限制: 1 Sec   内存限制: 64 MB
提交: 156   解决: 63
[ 提交][ 状态][ 讨论版]

题目描述

这是一个简化版的网络游戏:在一个N×N方块构成的棋盘中,每个方块均涂上红、黄、蓝、绿(记为l、2、3、4)中的一种颜色,游戏者可以在最底行任意找一个方块,用鼠标双击这个方块,于是该方块及与之相邻(即在上、下、左、右四个方向上有公共边)的所有的同色方块均被消掉,而因下方失去支持的方块将会自由落下填补空位。样例中给出一个4×4的棋盘样例,当游戏者双击最底层左边第二个方块后,将会形成输出结果的布局。
你的任务是编写一个泡泡龙模拟程序,对于给定的一个初始棋盘,计算游戏者双击最底层某个方块后棋盘的布局将会如何。

输入

第1行有两个正整数N和M(I≤M≤N≤I00),其中N表示棋盘的规模,而M则表示游戏者将双击最底层从左边数起的第M个方块。接下来的N行每行有N个l~4的整数组成,表示一个初始的棋盘,同一行相邻两个数之间用一个空格隔开。

输出

N行,每行用N个数给出游戏结束后棋盘的布局,没有方块的格子用0表示,同一行相邻两个数之间也用一个空格分开。每行末尾有空格

样例输入

4 2
1 2 3 4
4 2 4 4
3 4 4 3
1 4 4 3

样例输出

1 0 0 0
4 0 0 0
3 2 0 3
1 2 3 3

搜索的水题啊,dfs把相同且相邻的标记为0,然后再把不是0的落下来,上面的补成0.这种题竟然做了半小时。脑卡。

代码实现

#include<iostream>
#include<algorithm>
#include<cstring>using namespace std;int next1[4][2]={1,0,0,1,-1,0,0,-1};
int map[105][105];
int n,s;void dfs(int x,int y,int z)
{int i;for(i=0;i<4;i++){int tx=x+next1[i][0];int ty=y+next1[i][1];if(tx<0||tx>=n||ty<0||ty>=n)continue;if(map[tx][ty]==z){map[tx][ty]=0;dfs(tx,ty,z);}}return ;
}void find()
{int i,j,k;for(i=n-1;i>=0;i--){for(j=0;j<n;j++){if(map[i][j]==0){for(k=i;k>=0;k--){if(map[k][j]){map[i][j]=map[k][j];map[k][j]=0;break;}}}}}
}int main()
{int i,j;while(cin>>n>>s){memset(map,0,sizeof(map));for(i=0;i<n;i++)for(j=0;j<n;j++)cin>>map[i][j];int z=map[n-1][s-1];dfs(n-1,s-1,z);map[n-1][s-1]=0;find();for(i=0;i<n;i++){for(j=0;j<n;j++)cout<<map[i][j]<<' ';cout<<endl;}}return 0;
}

蒙蔽的D题

问题 D: 鸡国福利

时间限制: 1 Sec   内存限制: 128 MB
提交: 115   解决: 9
[ 提交][ 状态][ 讨论版]

题目描述

鸡国为了表彰鸡国每一只鸡在过去一年的优秀表现,打算在接下来的 n 天中每天给鸡国的一只鸡发 1 袋或者 2 袋“鸡币”(鸡国的通用货币)作为福利。国王要求每天来领钱鸡
互不相同,即来领过钱的鸡不能再来,否则将受到严厉的处罚。 
但聪明的鸡国老百姓侦察后发现国王每天发的钱袋子里面装的钱数量是不一样的(同一天的相同),第 i 天发的每一袋钱为 a i 元。如果第 i 天来领钱的鸡领 1 袋钱,它可以获得ai 元的“鸡币”,如果它领 2 袋钱,则可以获得 2×ai 元“鸡币”,当然它也可以放弃,则第i 天的钱国王收回国库。 
由于鸡国生活条件优越和鸡的贪念等原因,当第 i 天领钱的鸡同时满足以下两个条件时它才会感到幸福: 
(1)领到的钱不能低于鸡国的平均收入 m 元。 
(2)要跟它前面领了钱且感到幸福的鸡一样幸福或者更幸福。 
仁慈的国王希望鸡国的每一只鸡都能感到幸福,请你帮国王规划一下在这 n 天中怎样给每一只发钱才能让最多的鸡感到幸福? 

输入

输入共 2 行。 
第 1 行输入两个整数 n 和 m,分别表示发钱的天数(或理解为来领钱的鸡数)和鸡国的平均收入。 
第 2 行 n 个正整数 ai  (1≤i≤n),依次表示第 i 天发的一袋钱中的“鸡币”为 ai 元。。 

当时没做出来,现在看到了别人的题解。传送门:点击打开链接

还有F题

问题 F: match

时间限制: 1 Sec   内存限制: 128 MB
提交: 71   解决: 27
[ 提交][ 状态][ 讨论版]

题目描述

小 x 在解说 F7 决赛时的搭档是韩乔生,以至于小 x 没有任何能说上话的机会。无聊的他玩起了填字游戏。一个 3*3 的九宫格里,每个格子里都被填上了一个字母,从而我们得到了 6 个单词。现在,小 x 随手写了 6 个单词,他想让你帮他找到一种填字母的方案,使得这 6 个单词都出现在了九宫格里。

输入

共六行,每行一个长度为 3 的单词(全部大写)。

输出

如果找不到方案,输出“0”(不包含引号)
如果能找到,输出包含 3 行,第 i 行对应九宫格的第 i 行(最后一行行末要换行)。
如果有多种方案,请输出每种方案对应的字符串中字典序最前的一种(将行与行首尾相连,就可以得到一个字符串)。

样例输入

ANA
ANA
DAR
DAR
RAD
RAD

样例输出

DAR
ANA
RAD

题目很容易让人懂,要注意字典序输出。由于题目数据量很小,完全可以暴力模拟每一个单词,最后得到结果。

贴一下学长的代码,传送门:点击打开链接

总结

感觉还不错,但还是有还多要深入研究的,知识多了,做题自然简单,就像H题,当初备战省赛做了48道DP专题,遇到了类似的题,虽然省赛没用到,但迟早会遇到,暑假才刚开始,暑假过后,必须拿出点成绩。

中石油 暑期集训个人赛第一场 题解相关推荐

  1. 题解报告(CDUT暑期集训——第四场)

    题解报告(CDUT暑期集训--第四场) Problem D. Nothing is Impossible HDU - 6335 思路:水题 排个序循环判断就出来了 AC代码 #include<s ...

  2. 题解报告(CDUT暑期集训——第三场)

    题解报告(CDUT暑期集训--第三场) A - Problem A. Ascending Rating HDU - 6319 思路:单调队列板子题?(但是弱的一批的我还是不会用(有空补上 用的滑动窗口 ...

  3. 题解报告(CDUT暑期集训——第六场)

    题解报告(CDUT暑期集训--第六场) A - oval-and-rectangle HDU - 6362 思路:水题 积分一化就出来了 AC代码 #include<stdio.h> #i ...

  4. 题解报告(CDUT暑期集训——第五场)

    题解报告(CDUT暑期集训--第五场) B - Beautiful Now HDU - 6351 思路:直接暴力全排列就行了 最多\(10!\)次 题目限制2500ms 全排列大概是2000多ms(最 ...

  5. ZAFU_2021_1_26_2021寒假个人赛第二场题解

    A题 原题链接:https://codeforces.com/problemset/problem/884/A 相关tag:施行 每天有86400秒,写了x秒的作业,还有86400-x秒可以练歌.(还 ...

  6. 2018-2019赛季多校联合新生训练赛第一场题解和补题(中石油)

    做这个题用了没多长时间就a了四道题,然后觉得我可以做出更多的时候突然发现别的都不太会了..到最后才拿到一个铜牌后来听说这些 都是2011年慈溪的小学奥赛题,瞬间心态崩了...这都大学了做小学题都这么费 ...

  7. 2022—SWJTU-寒假ACM校队选拔赛第一场-题解

    A - 惠老板观星https://vjudge.net/problem/Gym-103401H 算法分析 暴力枚举正方形的四个顶点即可,由于正方形的长宽相等,时间复杂度为 AC code #inclu ...

  8. 中国石油大学 2018-2019赛季多校联合新生训练赛第一场 题解与补题

    这场比赛是在18年12月,因为当时完全不敢用C++,感觉很遥远的样子-代码都是拿C实现的,许多地方其实也可以优化的. 问题 A: 录取分数线 时间限制: 1 Sec 内存限制: 128 MB 题目描述 ...

  9. 2017计蒜之道第一场题解

    文章首发自进击的ACMer 写在前面 这是第一次参加这种网络赛,点开题目就是浓浓的广告风,全是阿里系列,听群巨巨说下一场是百度系列 过题情况 第一题比较水,暴力枚举,第二题中和困难基本上卡了所有人12 ...

最新文章

  1. WAVE SUMMIT平行论坛 :产教融合,人才共育
  2. [leetcode]Jump Game
  3. python如何在循环中保存文件_python-如何在for循环中更改为另一行文件
  4. 使用DatagramSocket与DatagramPacket传输数据
  5. java之简单的Callback使用总结
  6. memlock mysql_mysql配置详解(不断更新)
  7. 药师帮完成1.33亿美元D轮融资,投资方为老虎环球基金、H Capital和DCM...
  8. 如何用递归处理一个数组中的数据成为一个树结构_Spark处理的一些业务场景(持续更新ing)...
  9. 洛谷2805 [NOI2009]植物大战僵尸 (拓扑排序+最小割)
  10. 如何在app应用中添加支付宝支付功能(解惑版)
  11. 国内首个SENT 信号解析软件 适配NXP KMA321, melexis MLX90372等SENT信号输出芯片 完美替代PicoScope 解析SENT
  12. 哈工大计算机研究生到抖音,抖音一家12口全是硕博引围观,本人谈心得:学霸养成就靠这三点...
  13. 解决VirtualBox配置静态ip和连外网的问题
  14. git创建分支,以及提交到远程创库
  15. 《博弈论》异或 博弈x^x第二手只能一定赢吗?
  16. python高阶学习之一:c++调用python
  17. echarts-liquidfill 水滴图/水位图/水球 下载地址
  18. 笔记:蛋白质结构预测在线工具
  19. GE凝胶成像 AI600
  20. 中国数字地球行业发展态势与投资前景展望报告(新版)2022-2027年

热门文章

  1. 怎么恢复html的笔记,印象笔记中被误删的笔记该怎么恢复?
  2. boost库和Eigen库冲突的解决
  3. linux 的 exit 命令
  4. keras神经风格迁移_深度神经风格迁移
  5. android自定义常量,Android中最佳常量定义方法
  6. Python3 - Docker部署caffe open_nsfw 图片鉴黄
  7. RISC-V嵌入式开发准备篇1:编译过程简介
  8. jmeter之jp@gc - Permon Metrics Collector配置及使用
  9. 使用screen在云服务器上部署项目使其一直运行与结束该项目
  10. 秀色天香慢凝眸轻叩首