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

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. Java中的包装类(wrapper class)

    1.介绍 顾名思义,包装类是封装Java原始类型的对象.每个Java原始类型都有一个对应的包装类: 基本类型 包装类 boolean Boolean byte Byte short Short cha ...

  2. java.lang.System快速指南

    1.介绍 在本教程中,我们将快速了解java.lang.System类及其特性和核心功能. 2.IO 系统类是java.lang的一部分,它的一个主要特性是让我们能够访问标准的I/O流. 简单地说,它 ...

  3. spring boot+bootstrap实现动态轮播图实战

    1.bootstrap轮播图 最近开发了个网站需要用到轮播图,正好前端用的是Bootstrap,这里就实战一下. 水平一般能力有限,仅供参考. 前提条件: bootstrap4.5 jquery 3张 ...

  4. CentOS 7 SSH连接超时自动断开解决方案

    用SSH登录到Linux的时候,由于默认的连接超时时间很短,经常断开! 1.修改文件 # vi /etc/ssh/sshd_config # vi /etc/ssh/sshd_config 找到 #C ...

  5. win32 - 匿名管道的使用

    目标: 创建一个父进程和子进程,在子进程的控制台窗口输入数据,数据通过管道发送给父进程,父进程的控制台窗口读取数据,最后将数据打印出来. Parent.cpp //CMD.exe #include & ...

  6. ASCII编码的影响与作用:数字化时代的不可或缺之物

    一.ASCII编码的起源 ASCII(American Standard Code for Information Interchange)编码是一种最早用于将字符转换为数字的编码系统.它诞生于20世 ...

  7. django学习第三天---django模板渲染,过滤器,反向循环 reversed,自定义标签和过滤器,模板继承

    django模板渲染 模板渲染,模板指的就是html文件,渲染指的就是字符串替换,将模板中的特殊符号替换成相关数据 基本语法 {{ 变量 }} {% 逻辑 %} 变量使用 示例 Views.py文件 ...

  8. 【Azure 应用服务】如何定期自动重启 Azure App Service Plan(应用服务计划)

    问题描述 如何定期自动重启 Azure App Service Plan(应用服务计划)? 因一个App Service Plan 下包含多个应用服务,如果能统一通过应用服务计划来重启所有的应用,则有 ...

  9. TLS数据包重组

    TLS解密 参考以下链接:Wireshark 解密 TLS报文_在线tls解密-CSDN博客 总结: 配置环境变量 wireshark首选项配置 TLS解密例子 Frame 2700 Frame 27 ...

  10. Java //输入两个正整数m和n,求其最大的公约数和最小公倍数//12和20的最大公约数是4,最小公倍数是60

    1 //输入两个正整数m和n,求其最大的公约数和最小公倍数 2 //12和20的最大公约数是4,最小公倍数是60 3 4 Scanner scan = new Scanner(System.in); ...