七月练习:杀完NOIP全集
注:标记☆的是我未理解透彻的,标记★的是已经理解完的重点。
7.31:所有题目已经上传!
7.1
CF581A Vasya the Hipster
水。随便找规律。(CF 乱入)
P1199 [NOIP2010 普及组] 三国游戏
水。找排名第二的就是答案,因为第一大的被电脑拿了。
P1190 [NOIP2010 普及组] 接水问题
有点水。直接贪心,不要让水龙头闲着就过了。
7.2
P2118 [NOIP2014 普及组] 比例简化
水。直接枚举分子分母,L 连 100 都不到。
P2239 [NOIP2014 普及组] 螺旋矩阵
不错的找规律。小学奥数题。最后的转移比较妙~
return f(n-2,i-1,j-1)+4*n-4;
用这个方法快速确定位置相当妙,可仔细体味。
7.3
Go on the trip.
P8225「Wdoi-5」天才⑨与天才拆分
有点水。我曾经赛时没有 AC 的红题,回头补一下。
7.4
P1098 [NOIP2007 提高组] 字符串的展开
有趣的小模拟。
参数的顺序可加斟酌,有利于代码的简洁性。
7.5
有点颓==。
P5661 [CSP-J2019] 公交换乘
小模拟,一开始顺序搞反喜提 0 $pts$,这个其实用数组或者 vector 来动态维护可选的票,或者也可把没用的票即时抹去。
P1540 [NOIP2010 提高组] 机器翻译
容易想到队列维护,遍历可以用数组代替 STL,也可创建备份。
P1097 [NOIP2007 提高组] 统计数字
用 map+ 优先队列来维护(桶的思想)。
☆P5019 [NOIP2018 提高组] 铺设道路
有意思的贪心。想到了确实很妙,可仔细体味。
建议参考题解 P5019【铺设道路】。
CF1685A Circular Local MiniMax
挺好想的贪心策略,就是大小交错排列。
P5657 [CSP-S2019] 格雷码
解释一下第一篇题解。
k 格雷码
000 000
001 001
010 011
011 010
100 110
101 111
110 101
111 100
对于第 0 位,循环节是0101对应0110,
对于第 1 位,循环节是00110011对应00111100
......
对于第 i 位,循环节长为 $2^i$。
所以答案为 k xor floor(k/2)。
7.6
P2347 [NOIP1996 提高组] 砝码称重
可行性 dp,注意重量要从大到小枚举!
P1965 [NOIP2013 提高组] 转圈游戏
很好算出转后的位数 $x+10^k m$,直接取余数即为答案。
P2038 [NOIP2014 提高组] 无线网络发射器选址
较为简单的模拟,一眼激光炸弹。但是边界的问题有点炸心态,略烦。
P3078 [USACO13MAR]Poker Hands S
三倍经验。
P1969 [NOIP2013 提高组] 积木大赛
三倍经验。
P5686 [CSP-S2019 江西] 和积和
有点恶心,没想到取模后做减法会出现负数,WA 了很久,不过推式子倒是不难。
7.7
P5686 [CSP-S2019 江西] 和积和
推式子题。反复前缀和优化 2 次。
P5682 [CSP-J2019 江西] 次大值
找规律题。推出可行解后再判断大小即可。
P1019 [NOIP2000 提高组] 单词接龙
裸的 dfs。
P1025 [NOIP2001 提高组] 数的划分
剪枝练习题。考虑余下数字之和的最大即可。
P2678 [NOIP2015 提高组] 跳石头
一眼贪心,可加二分答案优化。
P1056 [NOIP2008 普及组] 排座椅
四次排序法,注意答案要有序。
7.8
P1158 [NOIP2010 普及组] 导弹拦截
枚举分割点。直接按答案排序。
P8296 [COCI2012-2013#2] KRIZALJKA
曾经的题解,又加了个 map 做法。
不要脸的推一波题解:题解 By Velvet。
☆P1020 [NOIP1999 普及组] 导弹拦截
两个类 LIS,要$O(n \log n)$ 的做法,用到了 Dilworth 定理。
P2196 [NOIP1996 提高组] 挖地雷
裸的 dfs。
P3951 [NOIP2017 提高组] 小凯的疑惑
小学奥数题。
7.9
P2404 自然数的拆分问题
裸的 dfs。
P1032 [NOIP2002 提高组] 字串变换
吐了,dfs 妥妥 MLE+TLE,只能 bfs+map 判重。
P3613【深基 15.例 2】寄包柜
vector 入门练习。
P1825 [USACO11OPEN]Corn Maze S
也是 bfs,裸的迷宫问题,只是加了个传送门,可以用 map。
7.10
颓-ing
AT173 単位
水。目测红题过水 + 恶意评分。
7.12
P5076【深基 16.例 7】普通二叉树(简化版)
二叉搜索树裸题。
P1364 医院设置
Floyd。
P1045 [NOIP2003 普及组] 麦森数
高精度快速幂,但是卡一卡常可过。
7.13
☆P1080 [NOIP2012 提高组] 国王游戏
py 水过,高精度写吐了。
P2895 [USACO08FEB]Meteor Shower S
bfs,加了个时间限制。
P2234 [HNOI2002] 营业额统计
果断 multiset 维护,答案只可能是其前一个或后一个。
P3884 [JLOI2009] 二叉树问题
Floyd 可解,根据从 root 节点到每个节点的距离(最短路)来求解,坑点是解之前会发现要解一个方程才知道边权。
P5250【深基 17.例 5】木材仓库
set 维护,lower_bound 可解,注意找不到时向前和后判断各一次即可。
P5318【深基 18.例 3】查找文献
dfs+bfs 裸题。
★P3916 图的遍历
反向建边 +dfs。暂时没搞懂为什么这是对的。
$Update 7.16:$
其实就是最大的点能到达的点的能到达的最大点一定是最大的点,好拗口。然后从最大点开始 dfs 即可。
P3405 [USACO16DEC]Cities and States S
考虑 map,给每个<a[i],b[i]>的值找一个 hash 可解。
7.14
P1113 杂务
发现是个 DAG 就好做了,求一个最长链即可。
P4017 最大食物链计数
toposort 裸题。类似斐波那契的求和即可。
P1807 最长路
Floyd 裸题。
P2853 [USACO06DEC]Cow Picnic S
考虑每个奶牛一次 dfs,统计能被到达 k 次的牧场数。
P3184 [USACO16DEC]Counting Haybales S
水。求区间点数只需要排序后用 upper_bound-lower_bound 即可。
CF933A A Twisty Movement
因为 a 只有 1 和 2 两种可能,所以答案一定分成 4 段,如【111...】【222...】【111...】【222...】
代码及其精简。
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,a,b,c,d;cin>>n;a=b=c=d=0;
while(n--)
{
int p;cin>>p;
if(p==1) a++,c++;
else b++,d++;
b=max(a,b);
c=max(b,c);
d=max(c,d);
}cout<<d;
return 0;
}
CF820A Mister B and Book Reading
恶评题。估计是红或者橙。
P7074 [CSP-J2020] 方格取数
不会 DP,写了个记搜。
P1320 压缩技术(续集版)
P5734【深基 6.例 6】文字处理软件
P2956 [USACO09OCT]The Robot Plow G
P7918 [Kubic] Lines
补了一下之前 WA 过的红和橙。
7.15
CF520B Two Buttons
bfs。
P1324 矩形分割
大的先割,总数为 $n+m$,下标会超出一个,而不是哪一个超出就停。
P5194 [USACO05DEC]Scales S
从前没开 long long,喜提 $0pts$。
P6476 [NOI Online #2 提高组] 涂色游戏
数论题,推了 1h 哭哭。
其实就是 $(x+1)p_2-1-(x p_2+1)=p_2-2$ 个中全部是 $p_1$ 倍数的最坏情况能不能满足。
写了个题解:题解 By Velvet。
B3601 [图论与代数结构 201] 最短路问题_1
没看见负权边,拍了个 dijkstra 结果 WA*10。正解 Bellman_Ford。
P1363 幻象迷宫
到边界取余即可。
7.16
P1347 排序
md 一天就这一题,细节写炸的我身心俱疲。
7.17
P1127 词链
调了2Days,dfs,但是要用欧拉回路来求起始点。
P1072 [NOIP2009 提高组] Hankson 的趣味题
枚举其因数,考虑对称性(注意平方),$O(\sqrt{n})$ 可过。
CF185A Plant
炸 long long 了,用 __int128 即可。
P7965 [COCI2021-2022#2] Kutije
写了一个复杂度及其不对的做法(全靠O2),Floyd复活!!!
7.18
P1086 [NOIP2004 普及组] 花生采摘
是贪心!不是搜索。一个小模拟,没什么难点。
P8437 伟大的神
月赛Div2 T1,蒟蒻不会构造题。
P3913 车的攻击
小学数学题。
CF1260C Infinite Fence
双倍经验。
P4889 kls与flag
map 入门题。
P2638 安全系统
组合数推式子。
☆P2789 直线交点数
不大明白,待理解。
7.19
P1835 素数密度
打表一些素数,然后在这个范围内筛一遍。因为 $R-L\le10^6$。
P4057 [Code+#1]晨跑
直接求最小公倍数。
P2651 添加括号III
考虑极端情况。a1/(a2/a3/a4/...)=a1a3a4.../a2。
也不需要高精度,反复 gcd 即可,如果 a2 变成 1 就说明可以整除。
P3956 [NOIP2017 普及组] 棋盘
bfs,但是要先转化一下。
转化思路。
发现普通的队列不行之后改用优先队列就过了。
7.20
P1069 [NOIP2009 普及组] 细胞分裂
分解质因数,依次计算x的值,如果质因数没有出现就是无解,取出答案即可。
☆P1593 因子和
用逆元解的一道题,因子和是有公式的,刚好是等比数列。逆元还不大会。
P1414 又是毕业季II
比较妙。分解因数,统计出现次数,对于每个 i ,出现次数< i 的才符合要求。
P2660 zzc 种田
水。一开始以为多块一起算的是长方形的周长WA了几次,忘了是一个一个减的。
P1403 [AHOI2005]约数研究
因为 $[1,n]$ 里约数有 $i$ 的个数为 $\left \lfloor \frac{n}{i} \right \rfloor $。
直接枚举,不过也可以整除分块做。
P6365 众数出现的次数
众数即一组数据中出现次数最多的数值。所以用map统计即可,记得判重。
B3630 排队顺序
链表裸题。
CF552C Vanya and Scales
题解 By Velvet
CF757B Bash's Big Day
统计因数出现的最多次数,没有则输出 1。qwq 没有特判WA 6次。
P7911 [CSP-J 2021] 网络连接
裸的map。
唯一难点是判断无解,sscanf即可,另外判断前导0只需要把分解后的合并,与原来的比较。
P4018 Roy&October之取石子
归纳法。只有石子数为 6 的倍数时是第二个人赢。
可参考。
7.21
P1022 [NOIP2000 普及组] 计算器的改良
根据等号两边分别计算即可,把方程变成 $ax+b=0$ 的形式。
P1309 [NOIP2011 普及组] 瑞士轮
要用归并排序,不过STL里有。
P1914 小书童——凯撒密码
略。
P5026 Lycanthropy
P4231 三步必杀
二次差分练习,对于增加的量是等差数列时有效。
如下列等差数列:
| 00 | 00 | 04 | 06 | 08 | 10 | 12 | 00 | 00 |进行一次差分后:
| 00 | 00 | 04 | 02 | 02 | 02 | 02 | 00 | 00 |发现 除了首元素外, 其他元素都相等, 相当于区间加操作。
则可再进行一次差分 :
| 00 | 00 | 04 | -2 | 00 | 00 | 00 | -2 | 02 |发现 只有四个位置被操作, 值有所改变。
(By 灵乌路空)

(By WAMonster)
以 $v=1,i=0$ 时的情况为例。(标红为入水点)
原序列:
$0 \quad 1 \quad 0\quad {\color{Red} -1} \quad 0\quad 1 \quad 0 \quad 0$
一次差分后:
$0 \quad 1 \quad -1\quad {\color{Red} -1} \quad 1\quad 1 \quad -1 \quad 0$
两次差分后:
$0 \quad 1 \quad -2\quad {\color{Red} 0} \quad 2\quad 0 \quad -2 \quad 1$
于是推出公式,相较之下第一题更坑,数组下标可能是负数!
7.22
P1037 [NOIP2002 普及组] 产生数
Floyd。转换成图论模型,开 __int128 可过。
P3948 数据结构
裸的差分。在线询问直接暴力,离线部分先改成前缀和再查询。
7.23
SP15637 GNYR04H - Mr Youngs Picture Permutations
线性DP练习。
用 $F_{a_1,a_2,a_3,a_4,a_5}$ 来表示每一排从左到右分别站了 $a_1,a_2,a_3,a_4,a_5$ 个人的合影方案数量。
初始条件:$F_{0,0,0,0,0}=1$
目标:$F_{N_1,N_2,N_3,N_4,N_5}$
转移方法:当每排人数不超过 $N_i$ 时,且前一排的人数大于本排人数时就可插入身高为 $i$ 的角色。
当然,此转移方法是基于身高从小到大来分析的。
同时每个状态也需要维持其单调性。
CF10D LCIS
有点恶心。如果不输出方案可以 $O(N^2)$ 求解。
由于数据特别水,故 $O(N^3)$ 可过,最后递归求出答案序列即可。
P2893 [USACO08FEB] Making the Grade G
先要分析出一定存在一种方案,使得 $B$ 中的数值都在 $A$ 中出现过。
之后容易想到类似 LIS 问题的做法。
$dp_i=\min\{{dp_j+cost(j+1,i-1)} \}{(0 \le j<i且a_j\le a_i)}$
时间复杂度为 $O(N^3)$。
当然,因为本题的决策集合只增不减,就可以实现 $O(1)$ 的转移。
具体的,设 $dp_{i,j}$ 为完成前 $i$ 个数的构造且 $B_i=j$ 时,$S$ 的最小值。
P1311 [NOIP2011 提高组] 选择客栈
不断记录距离当前客栈最近的 $最低消费\le p$ 的那个。
然后实时记录其之前各种颜色的客栈出现次数,答案加上和当前客栈颜色一致的客栈数量即可。
7.24
P1006 [NOIP2008 提高组] 传纸条
线性 DP。考虑路径的形成和行走,四种可能分别转移即可。
7.25
P1541 [NOIP2010 提高组] 乌龟棋
容易想到用 $dp_{a,b,c,d}$ 来表示四种卡片分别使用了 $a,b,c,d$ 张时的答案。
于是就可以愉快的 DP 了。
当然也可以写记忆化搜索,代码雷同。甚至比 DP 快。
P5016 [NOIP2018 普及组] 龙虎斗
先预处理出势力值。
然后可以 $O(1)$ 求出更新后的答案。
7.26
P1078 [NOIP2012 普及组] 文化之旅
一道错题。
不过可以考虑限制条件,然后 Floyd 求最短路即可。
注意是起点和终点特判是否满足条件。
P2672 [NOIP2015 普及组] 推销员
考虑按疲劳值排序。
记录下前后 $k$ 个点的路径最大值分别为 $q_k$ 和 $h_k$。
答案即 $\max \{ sum_x+q_x,sum_{x-1}+h_x \}$。
其中 $sum_{x-1}+h_x$ 意思是舍弃当前一个点的疲劳值,在后面寻找路径更长的来弥补。
因此 $h$ 数组在计算时不仅要计算路径的长度,而且要算出对应的一个疲劳值。
P1970 [NOIP2013 提高组] 花匠
容易想到统计趋势的变化情况,但是需要先排除相等的情况。
P1076 [NOIP2012 普及组] 寻宝
按题意模拟即可。
不过在寻找楼梯间的时候会用到模数,为了防止一层楼只有一个出口的情况,要先 $-1$ 再 $+1$。
UVA11624 Fire!
做的最轻松的蓝题。
只需要两次 bfs,人在火之前到就行。
7.27
P1023 [NOIP2000 普及组] 税收与补贴问题
题意较难理解,可参考:Discuss By ShefYong。
按照等差数列求出线性关系,根据不补贴时的价格从小到大枚举答案即可。
P1016 [NOIP1999 提高组] 旅行家的预算
大模拟???
细节很多,贪心思路很细,参考了题解 By Twilight_。
P2671 [NOIP2015 普及组] 求和
咕咕咕......前缀和推式子题。
7.28
P5018 [NOIP2018 普及组] 对称二叉树
不断递归左右子树,判断权值和位置是否对称。
P1043 [NOIP2003 普及组] 数字游戏
直接爆搜。
剪枝策略就是判断当前答案已经无法再更新了就返回。
考场上的高精度可以用两个 long long 来平替。
P1982 [NOIP2013 普及组] 小朋友的数字
明显要求一个最大子段和。然后愉快的递推即可。
7.29
P5017 [NOIP2018 普及组] 摆渡车
迷惑题?参考了题解 By Sooke。
先抽象化问题,找到线性 DP 的模型就好写了。
虽然正解是斜率优化,但是用一个避免无效转移就过了???
7.30
P8452 「SWTR-8」15B03
赛时打的 $80\;pts$ 部分分。
UVA1193 Radar Installation
贪心练习。
七月练习:杀完NOIP全集的更多相关文章
- NOIP算法总结
前言 离NOIP还有一个星期,匆忙的把寒假整理的算法补充完善,看着当时的整理觉得那时还年少.第二页贴了几张从贴吧里找来的图片,看着就很热血的.旁边的同学都劝我不要再放PASCAL啊什么的了,毕竟我们的 ...
- NOIP初赛知识点
http://www.doc88.com/p-9982181637642.html 连载中…… (一)八大排序算法 下面这张表摘自博客http://blog.csdn.net/whuslei/arti ...
- HGOI NOIP模拟4 题解
NOIP国庆模拟赛Day5 题解 T1 马里奥 题目描述 马里奥将要参加 NOIP 了,他现在在一片大陆上,这个大陆上有着许多浮空岛,并且其中一座浮空岛上有一个传送门,马里奥想要到达传送门从而前往 N ...
- NOIP后省选集训前文化课划水记
划水划了一个多月,文化课没啥长进还他妈累死了...--ghj1222 11.11(NOIP Day2) 师傅开车开得很快,晚上8:00多就到了二狱 晚上听毒瘤班主任swh讲了半节语文,我:黑人问号.j ...
- QBXT七月D1
今天是lyd神仙讲课的第一天,可以感觉到的是这位神仙有着不同于他人的气质,比如他的表情包(雾) 好了来讲正经的) 今天讲的比较多的是模拟算法和一些比赛中的好习惯 high-level 这个名词的大体意 ...
- NOIP模板整理计划
先占个坑 [update]noip结束了,弃了 一.图论 1.单源最短路 洛谷P3371 (1)spfa 已加SLF优化 #include <iostream> #include < ...
- NOIp 11.11/12
最后一场比较正式的NOIp模拟赛,写一发小总结.题目没什么好说的,大部分很简单,先贴一下代码. 1111 T1 //string //by Cydiater //2016.11.11 #include ...
- NOIp 1109
停课后的第一场模拟赛,应该不会怎么说今天的模拟赛,除了第一题不知道那种筛法的复杂度是$log$的没敢写,其他都挺水的.另外,第三题的数据也弱化了,建议去这里再交一遍. 贴一下AC代码,有兴趣可以参考一 ...
- NOIp 2016 总结
NOIp 2016 总结 -----YJSheep Day 0 对于考前的前一天,晚自习在复习图论的最短路和生成树,加深了图的理解.睡得比较早,养足精力明日再战. Day 1 拿到题目,先过一边,题目 ...
- 历年NOIP水题泛做
快noip了就乱做一下历年的noip题目咯.. noip2014 飞扬的小鸟 其实这道题并不是很难,但是就有点难搞 听说男神错了一个小时.. 就是$f_{i,j}$表示在第$i$个位置高度为$j$的时 ...
随机推荐
- spring boot实现邮箱验证码注册
最近在设计自己的博客系统,涉及到用户注册与登录验证. 注册这地方我先采用最传统的邮箱验证码方式.具体的实现方式如下: 1.有关如何配置spring boot发送邮件,请参考我的另一篇文章: https ...
- django学习第十天---ajax请求和JsonResponse
AJAX 它是js的功能,特点:异步请求,局部刷新 简单请求示例 基于jquery的ajax请求 异步请求,不会刷新页面,页面上用户之前输入的数据都不会丢失 <p>下面是ajax请求< ...
- 在Ubuntu搭建DHCP服务器
一.提供DHCP的服务器,自己必须有固定的IP地址 不然局域网就乱了,服务器自身启动(比如搭建完DHCP服务后,重新启动了服务器)的时候,DHCP服务器没有IP地址,无法和自己的DHCP服务通信. 在 ...
- 【Azure Logic App】添加 Storage Account 来提升 Logic App 的性能
文章原文:https://techcommunity.microsoft.com/t5/azure-integration-services-blog/scaling-logic-app-standa ...
- 【Azure Redis】Redis导入备份文件(RDB)失败的原因
问题描述 在测试Azure Redis的导入/导出备份文件的功能中,突然发现在Redis 4.0上导入的时候,一直报错. 问题解答 因为门户上只是显示导入失败,没有任何错误消息说明.根据常理推断,Re ...
- 【Azure 应用服务】用App Service部署运行 Vue.js 编写的项目,应该怎么部署运行呢?
问题描述 用App Service部署运行 Vue.js 编写的项目,应该怎么部署运行呢? 问题解答 VUE通常是运行在客户端侧的JS框架. App Service 在这种场景中是以静态文件的形式提供 ...
- 【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误
问题描述 在Azure中创建Function App(函数应用), 用以运行Python代码(Python Version 3.7). 通过VS Code创建一个HttpTrigger的Functio ...
- PlatformIO+esp32+添加自己的库(.c.h文件)
什么都放main.c的话,很有可能堆积成屎山,所以我想给分开写,每个功能有自己的.c..h文件. 在lib下新建文件夹,例如led,再在里面分别建led.c.led.h; 写好内容后再main ...
- 十一: 数据库缓冲池(buffer pool)
数据库缓冲池(buffer pool) InnoDB 存储引擎是以页为单位来管理存储空间的,我们进行的增删改查操作其实本质上都是在访问页 面(包括读页面.写页面.创建新页面等操作).而磁盘 I/O 需 ...
- python AI应用开发编程实战 大模型实战基础(数据存储类型列表与字典)(二)
大模型开发中,需要和自己的业务融合,我们要对自己的数据处理,熟悉外理excle word pdf 数据然后处理后可以放到向量数据库,或者直接Assistants API传到大模型引用,不管怎么样数 ...