注:标记☆的是我未理解透彻的,标记★的是已经理解完的重点。

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全集的更多相关文章

  1. NOIP算法总结

    前言 离NOIP还有一个星期,匆忙的把寒假整理的算法补充完善,看着当时的整理觉得那时还年少.第二页贴了几张从贴吧里找来的图片,看着就很热血的.旁边的同学都劝我不要再放PASCAL啊什么的了,毕竟我们的 ...

  2. NOIP初赛知识点

    http://www.doc88.com/p-9982181637642.html 连载中…… (一)八大排序算法 下面这张表摘自博客http://blog.csdn.net/whuslei/arti ...

  3. HGOI NOIP模拟4 题解

    NOIP国庆模拟赛Day5 题解 T1 马里奥 题目描述 马里奥将要参加 NOIP 了,他现在在一片大陆上,这个大陆上有着许多浮空岛,并且其中一座浮空岛上有一个传送门,马里奥想要到达传送门从而前往 N ...

  4. NOIP后省选集训前文化课划水记

    划水划了一个多月,文化课没啥长进还他妈累死了...--ghj1222 11.11(NOIP Day2) 师傅开车开得很快,晚上8:00多就到了二狱 晚上听毒瘤班主任swh讲了半节语文,我:黑人问号.j ...

  5. QBXT七月D1

    今天是lyd神仙讲课的第一天,可以感觉到的是这位神仙有着不同于他人的气质,比如他的表情包(雾) 好了来讲正经的) 今天讲的比较多的是模拟算法和一些比赛中的好习惯 high-level 这个名词的大体意 ...

  6. NOIP模板整理计划

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

  7. NOIp 11.11/12

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

  8. NOIp 1109

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

  9. NOIp 2016 总结

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

  10. 历年NOIP水题泛做

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

随机推荐

  1. spring boot实现邮箱验证码注册

    最近在设计自己的博客系统,涉及到用户注册与登录验证. 注册这地方我先采用最传统的邮箱验证码方式.具体的实现方式如下: 1.有关如何配置spring boot发送邮件,请参考我的另一篇文章: https ...

  2. django学习第十天---ajax请求和JsonResponse

    AJAX 它是js的功能,特点:异步请求,局部刷新 简单请求示例 基于jquery的ajax请求 异步请求,不会刷新页面,页面上用户之前输入的数据都不会丢失 <p>下面是ajax请求< ...

  3. 在Ubuntu搭建DHCP服务器

    一.提供DHCP的服务器,自己必须有固定的IP地址 不然局域网就乱了,服务器自身启动(比如搭建完DHCP服务后,重新启动了服务器)的时候,DHCP服务器没有IP地址,无法和自己的DHCP服务通信. 在 ...

  4. 【Azure Logic App】添加 Storage Account 来提升 Logic App 的性能

    文章原文:https://techcommunity.microsoft.com/t5/azure-integration-services-blog/scaling-logic-app-standa ...

  5. 【Azure Redis】Redis导入备份文件(RDB)失败的原因

    问题描述 在测试Azure Redis的导入/导出备份文件的功能中,突然发现在Redis 4.0上导入的时候,一直报错. 问题解答 因为门户上只是显示导入失败,没有任何错误消息说明.根据常理推断,Re ...

  6. 【Azure 应用服务】用App Service部署运行 Vue.js 编写的项目,应该怎么部署运行呢?

    问题描述 用App Service部署运行 Vue.js 编写的项目,应该怎么部署运行呢? 问题解答 VUE通常是运行在客户端侧的JS框架. App Service 在这种场景中是以静态文件的形式提供 ...

  7. 【Azure 应用服务】Azure Function App Linux环境下的Python Function,安装 psycopg2 模块错误

    问题描述 在Azure中创建Function App(函数应用), 用以运行Python代码(Python Version 3.7). 通过VS Code创建一个HttpTrigger的Functio ...

  8. PlatformIO+esp32+添加自己的库(.c.h文件)

        什么都放main.c的话,很有可能堆积成屎山,所以我想给分开写,每个功能有自己的.c..h文件. 在lib下新建文件夹,例如led,再在里面分别建led.c.led.h; 写好内容后再main ...

  9. 十一: 数据库缓冲池(buffer pool)

    数据库缓冲池(buffer pool) InnoDB 存储引擎是以页为单位来管理存储空间的,我们进行的增删改查操作其实本质上都是在访问页 面(包括读页面.写页面.创建新页面等操作).而磁盘 I/O 需 ...

  10. python AI应用开发编程实战 大模型实战基础(数据存储类型列表与字典)(二)

    大模型开发中,需要和自己的业务融合,我们要对自己的数据处理,熟悉外理excle  word  pdf 数据然后处理后可以放到向量数据库,或者直接Assistants API传到大模型引用,不管怎么样数 ...