2020.09.12【NOIP提高组&普及组】模拟赛C组 总结
总结:这次比赛成绩并不理想,虽然策略得当
\(P.S.\):太多题有多组数据,但是样例只有一个数据
各题题解和改题情况
T1 匹配
题面
描述
给你一个由{a,b…z,A,B….Z}组成的字符串,我们把大写字母{A,B….,Z}当作括号,这26个字母形成13对括号,(A,Z),(B,Y)………(M,N),每对中的第一个字母表示左括号”(”,第二个字母表示右括号”)”。
一个匹配的表达式是指左括号和右括号要配对,也就是说所有的左括号的右边都有一个右括号和它配对,而且如果一个左括号在某一个配对的括号的中间,那么跟它配对的右括号也必须在该配对的括号中间。
例如AabcZBBefYeY是一个匹配的表达式。而AabcBZY不是,因为(B,Y)中在(A,Z)的中间,而Y不在。同样AabcZZA也不是,因为第二个Z没有配对的A。
小写字母{a,b,…z}不表示括号,可以出现在任何地方。你的任务是决定给定的字符串是否是匹配的。
输入
输入包括多组测试数据,每组测试数据第一行是一个整数N,表示字母的个数,接下来第二行是N个字母。
输出
对于每组测试数据,输出1或0,1表示匹配,0表示不匹配。
样例输入
12
AabcZBBefYeY
样例输出
1
题目大意
每两个字母对应一种匹配的括号,具体的,如 (A,Z),(B,Y)………(M,N)
问你给定的字符串是否满足括号匹配(小写字母啥也不是)
总结 & 题解
这道题其实并不难,但是要细心,学会造对拍数据。
真的是裸的 \(O(n)\) 栈,但是要注意
感谢某位比我先考完试的大喊了一声提醒了我
可是我加了一个多组数据的时候
一个return 0
拯救了我!
应得:
实际:
T2 生日蛋糕
题面
描述
今天是你的生日,家里给你买了个\(N*N\)的蛋糕,蛋糕被分成\(N*N\)个单元格,水平和垂直方向各切一刀,这样分成4份。
然后你妹妹、爸爸、妈妈依次取一份,最后才轮到你取。
蛋糕上有的单元格上有巧克力,有的没有,不幸的是你一家4口都喜欢吃,而且每个人都很自私,轮到他取的时候都会毫不客气地取其中巧克力最多的蛋糕。
问你该如何切才能使得自己获得最多多少个巧克力。
如下图的蛋糕,其中”#”表示有巧克力,”.”表示没有.
下面是两种可行的切法:
第一种切法,你最终只能拿到2个巧克力,而第二种可以得到3个。
输入
输入第一行是一个整数N,表示蛋糕的边长。接下来N行,每行N个字符(“#”或”.”)描述蛋糕的情况。
输出
输出第一行输出一个整数M表示你最大可以获得巧克力的个数。
接下来输出两个整数R和C,描述切割方法,R表示水平切线是介于第R行和R+1行之间,C表示垂直切线介于第C列和第C+1列之间。
如果有多种切法,输出任意一种即可。
样例输入
8
..#..#..
.##..#..
......#.
.##.....
..#.#...
......#.
........
..#..#..
样例输出
3
3 4
题目大意
给你一个矩阵表示一块蛋糕,上面有一些巧克力,现在让你横竖各一刀切成四块
问四块中最小巧克力块数最大值和切法
总结 & 题解
这道题正常发挥:
用时也很正常
主要难点:矩阵前缀和
设 \(sum_{i,j}\) 表示以 (1,1) 为左上角,以 (i,j) 为右下角的巧克力总块数
先列出式子:\(Sum_{i,j}=Sum_{i,j-1}+Sum_{i-1,j}-Sum_{i-1,j-1}+map_{i,j}\)
解释
\(Sum_{i,j-1}\)
\(Sum_{i-1,j}\)
\(Sum_{i-1,j-1}\)
这就相当于一个容斥原理
然后直接暴力枚举切的行和切的列,分别求出四块的块数并取 min ,并和答案比较,最后输出
T3 游戏
题面
描述
玩家1和玩家2在\(N*N\)的棋盘玩游戏,一开始皇后被放置在棋盘上的某个位置,两人轮流移动,玩家1先移。
每次移动玩家可以把皇后向左边移动若干步,或者向下面移动若干步,或者沿着左下方的斜线移动若干步。
如下图,“X”表示皇后”Q”一次移动可以移到的位置。
游戏将会以皇后到达左下角而告终。谁把皇后移到左下角就获胜。例如下图:
玩家2将获得比赛的胜利。
告诉你皇后一开始的位置。你的任务是计算出最后谁将赢得比赛的胜利,假设两个玩家都是聪明绝顶每次移动都会采用最优策略。
输入
输入包含多组测试数据(<10组)。
对于每组测试数据,输入包含两行,第一行包含一个整数N,描述棋盘的大小,
第二行输入两个整数I,J,其中I表示开始皇后所在列(丛左数起),J表示行(从上数起)。
输出
对于每组输入数据,输出1或2,表示是哪个玩家赢得比赛的胜利。
样例输入
500
331 297
500
127 423
500
117 429
500
124 424
样例输出
1
1
1
2
总结 & 题解
我也想到找规律,但是过于肤浅,遇到这种题应该深入探究。
转载于
这个题其实是有规律的
规律:
(如果一个位置0则从该点出发后手必胜)
(如果一个位置1则从该点出发先手必胜)
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1
1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
从这张图可以看出:
0具有对称性。
比如:(2,3)是0,(3,2)也是0
然后,我们把0的位置挑出来:
1 1
2 3
3 2
4 6
5 8
6 4
7 11
8 5
9 14
10 16
11 7
12 19
13 21
14 9
15 24
16 10
17 27
18 29
19 12
21 13
24 15
27 17
29 18
好像看起来没什么规律,但是先去个重:
1 1
2 3
4 6
5 8
7 11
9 14
10 16
12 19
13 21
15 24
17 27
18 29
我们可以发现这样的规律:
1 1——差值是0
2 3——差值是1
4 6——差值是2
5 8——差值是3
7 11——差值是4
9 14——差值是5
10 16——差值是6
12 19——差值是7
13 21——差值是8
15 24——差值是9
17 27——差值是10
18 29——差值是11
不难看出,差值是递增的,每个数刚好出现一次
每次求这样一对数时:
第一个数是之前没出现过的数的最小的那个
第二个数是第一个数+差值
然后判断输入的x和y是否出现在这些数对中。
证明
有一个棋盘
我们假设标为 1 是先手胜,标上 2 是后手胜
我们发现有两个凹进去的地方,自然都是 2
那么所有能到 2 的都是 1,以此类推
那为什么一个数只能出现一次呢?
很明显横着和竖着都被覆盖了
那为什么差值是递增的呢?
图中标黄色的 1 ,把差值为 1 的覆盖了,差值只能为 2,下一次差值为 2 的又被覆盖了,差值只能为 3,以此类推
T4 最大利润
题面
描述
政府邀请了你在火车站开饭店,但不允许同时在两个相连接的火车站开。任意两个火车站有且只有一条路径,每个火车站最多有50个和它相连接的火车站。
告诉你每个火车站的利润,问你可以获得的最大利润为多少。
例如下图是火车站网络:
最佳投资方案是在1,2,5,6这4个火车站开饭店可以获得利润为90
输入
第一行输入整数N(<=100000),表示有N个火车站,分别用1,2。。。,N来编号。
接下来N行,每行一个整数表示每个站点的利润,接下来N-1行描述火车站网络,每行两个整数,表示相连接的两个站点。
输出
输出一个整数表示可以获得的最大利润。
样例输入
6
10
20
25
40
30
30
4 5
1 3
3 4
2 3
6 4
样例输出
90
题目大意
在一棵树上选点,会得到它的权值,单选了这个点就不能选它的儿子,问最大权值
总结 & 题解
双向建边开了一倍空间,70分飞了,应该细心检查。
应得:
实际:
树形 DP 模板题,和“没有上司的晚会”双倍经验。
完结
- 比赛时要学会打对拍数据,检验程序。(T1)
- 比赛前要有规划,这点做得还行(T2)
- 当别的题都做完了可以深入研究规律题,不要太肤浅(T3)
- 所有题都做完了要检查明显的错误如数组大小、输入输出格式(T4)
The End
2020.09.12【NOIP提高组&普及组】模拟赛C组 总结的更多相关文章
- 2018.12.30【NOIP提高组】模拟赛C组总结
2018.12.30[NOIP提高组]模拟赛C组总结 今天成功回归开始做比赛 感觉十分良(zhōng)好(chà). 统计数字(count.pas/c/cpp) 字符串的展开(expand.pas/c ...
- 2017.1.16【初中部 】普及组模拟赛C组总结
2017.1.16[初中部 ]普及组模拟赛C组 这次总结我赶时间,不写这么详细了. 话说这次比赛,我虽然翻了个大车,但一天之内AK,我感到很高兴 比赛 0+15+0+100=115 改题 AK 一.c ...
- 使用镜像安装cygwin、gcc并配置CLion IDE -2020.09.12
使用镜像安装cygwin.gcc并配置CLion IDE -2020.09.12 Cygwin 官网:http://www.cygwin.com/ 下载64bit安装器,并打开选择next 尽量不要装 ...
- Java实现 第十一届 蓝桥杯 (高职专科组)省内模拟赛
有错误的或者有问题的欢迎评论 十六进制数1949对应的十进制数 19000互质的数的个数 70044与113148的最大公约数 第十层的二叉树 洁净数 递增序列 最大的元素距离 元音字母辅音字母的数量 ...
- Java实现 第十一届 蓝桥杯 (本科组)省内模拟赛
有错误的或者有问题的欢迎评论 计算机存储中有多少字节 合法括号序列 无向连通图最少包含多少条边 字母重新排列 凯撒密码加密 反倍数 正整数的摆动序列 螺旋矩阵 小明植树 户户通电 计算机存储中有多少字 ...
- 2020.09.05【NOIP提高组&普及组】模拟赛C组1总结
T1:机器翻译 这一道题是一个很简单的队列题目,我们只要每次维护队列元素数量保持在m以内即可 T2:乌龟棋 这一道题我一开始比赛是暴力枚举(万事先暴力),很明显这个肯定会超时(30分)那么考虑动态规划 ...
- 纪中集训2020.02.09【NOIP提高组】模拟B 组总结反思
目录 JZOJ.1747[NOIP2014模拟11.5]无穷迷宫 比赛时 之后 总结 JZOJ1478.[NOIP2014模拟11.5]近似乘积 比赛时 之后 总结 JZOJ3926. [NOIP20 ...
- 2017.07.09【NOIP提高组】模拟赛B组
Summary 今天放假,比赛于是就没有打了,但是看了一下题,发现都挺简单了,不想码~╮(╯▽╰)╭懒虫一条.最后一题居然做过原题.这次比赛让我对并查集“刮目相看”,对贪心感到“前途无量”,觉得树形D ...
- 2017.07.06【NOIP提高组】模拟赛B组
Summary 今天比赛感觉题目很奇葩,都可以用许多简单方法来做,正确性都显然,当然也有点水,也就是说是考我们的数感和数学知识,而程序,只是代码的体现. 这次的时间安排感觉不错,因为很快就打完最后一道 ...
随机推荐
- Wireshark捕获网易云音乐音频文件地址
打开Wireshark,开始捕获. 打开网易云音乐,然后播放一首歌. Wireshark停时捕获,然后在不活的文件中搜索字符串"mp3".可以发现有如下信息: 将其中的内容:&qu ...
- mosquitto使用与常用配置
为了方便演示,我这里就用windows环境下安装的mosquitto进行操作,操作方式和linux系统下是一样的. 一.windows安装mosquitto 下载mosquitto mosquitto ...
- Lumia一键刷稳定版 Win10 arm 及其报错处理
前言 之前我发了一篇Lumia1520 刷Win10 arm双系统的文章,不过后来发现那个方法对小白来说太不友好,且系统也不稳定,所以我找到了更好的方法 刷机 我们可以利用刷机迷进行刷机,支持一键刷机 ...
- 初识tomcat和servlet
web相关概念回顾 软件架构 C/S:客户端/服务器端 B/S:浏览器/服务器端 资源分类 静态资源:所有用户访问后,得到的结果都是一样的,称为静态资源.静态资源可以直接被浏览器解析 如: html, ...
- [已解决] 含gorm、sqlite3包的go程序构建失败 C:\Program Files\Go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1
gorm官方文档教程实例,构建出现错误.C:\Program Files\Go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit st ...
- for .. range中的坑
最近在开发中使用了for range来遍历一个slice,结果在测试的时候遇到了bug,最后定位是错误使用for range造成的,这里记录一下: func redisSlaveScanBigKeys ...
- 【深度学习 论文篇 02-1 】YOLOv1论文精读
原论文链接:https://gitee.com/shaoxuxu/DeepLearning_PaperNotes/blob/master/YOLOv1.pdf 笔记版论文链接:https://gite ...
- 配置docker阿里加速器
阿里云会根据账号生成一个账号加速器地址,例如: https://jywd41dg.mirror.aliyuncs.com 将加速器地址配置到docker的daemon.json文件中:# 编辑daem ...
- sqlmap源码分析(一)
Sqlmap源码分析(一) 此次分析的sqlmap目标版本为1.6.1.2#dev 只对sqlmap的核心检测代码进行详细分析其他的一带而过 sqlmap.py文件结构 为了不让篇幅过长下面只写出了s ...
- 小米路由器3G R3G 刷入Breed和OpenWrt 20.02.2 的记录
小米 R3G 参数 Architecture: MIPS Vendor: Mediatek Bootloader: U-Boot System-On-Chip: MT7621 family CPU/S ...