GZOI/GXOI2019
陆陆续续做完了……
与或和(单调栈)
这是一道一眼题……
看到位运算,按位考虑贡献。对于每一位,将矩阵中的元素变为“当前元素的这一位是否为\(1\)”,那么原矩阵变为\(01\)矩阵。在\(01\)矩阵中能够对\(AND\)产生贡献的是全\(1\)的矩阵,能够对\(OR\)产生贡献的是存在\(1\)的矩阵,那么我们需要求全\(1\)和全\(0\)矩阵,单调栈做一下就可以了。
宝牌一大堆(DP)
这是一道暴力题……
国士无双可以直接判,七对子用贪心判一下,对于\(3 \times 4 + 2\)的结构,对于每一种花色DP:设\(f_{i,j,k,l,m,n}\)表示考虑第\(i\)种花色的第\(j\)种牌,选了\(k\)个面子和杠子、\(l\)个对子、\(m\)个\((j-1,j,j+1)\)的顺子、\(n\)个\((j,j+1,j+2)\)的顺子的最大达成分数。转移枚举\(j+1\)的数量、\((j+1,j+2,j+3)\)的数量,剩下的做对子/刻子/杠子。对于字牌也这样DP一下,只是不需要考虑顺子。
最后合并的时候枚举一下每一种花色选了多少对子、面子和杠子然后合并就可以了。
特技飞行(贪心、扫描线)
这是一道强行二合一……
首先我们求能够被嘉宾看到的特技数量。因为特技的位置和嘉宾的视野范围是固定的,所以最开始用一个set维护出所有的特技的位置,然后曼哈顿距离转切比雪夫距离之后就是要求每一个点是否被任意一个正方形覆盖,离散化+扫描线即可。这一段相对细节较多。
然后我们要求最大和最小的特技分数。注意到特技分数和选择某一种特技的次数呈正相关,那么我们只需要求出“对向交换”次数最多和最少的方案数,就可以得到分数最小和最大的方案数。“对向交换”次数最多的显然是所有交点都使用“对向交换”。
“对向交换”最少的情况考虑:对于每一个飞机,如果它在\(x_{st}\)处的纵坐标排名为\(i\),在不使用“对向交换”到达\(x_{ed}\)时的纵坐标排名为\(j\),那么连边\((i,j)\)。我们可以得到一个\(N\)个点、\(N\)条边、由若干个环构成的有向图,而我们最终的目标是让这个图变为\(N\)个自环。而每一次“对向交换”可以交换两个点最终的纵坐标排名,也就是交换两条边的出边,所以对于一个长度为\(len\)的环需要\(len - 1\)次交换,所以最小总次数=$\sum len - 1 = N - $环的个数。
逼死强迫症(矩阵快速幂)
这是一道模板题……
设\(f_{i,0/1/2}\)表示填满了前\(i\)列、放了\(0/1/2\)个\(1 \times 1\)的方块的方案数。转移只需要考虑放\(1\)的方案,其他和斐波那契数列没有不同。注意两个\(1 \times 1\)的方块不能放在一起。
矩阵大小大概是\(5 \times 5\)
旅行者(最短路)
这是一道简单题……
一种比较直接的思路是:正着、反着跑两遍从关键点到其他所有点的最短路和次短路长度,然后对于每一条边\(x \rightarrow y\)考虑贡献答案,如果从关键点到\(x\)的最短路对应的点和从\(y\)到关键点的最短路对应的点是同一个就用一条最短路和一条次短路更新。
但是实际上如果某一条路径是答案,那么在这条路上一定会存在一条边\(x \rightarrow y\),使得从关键点到\(x\)的最短路对应的点和从\(y\)到关键点的最短路对应的点是不同的。所以可以直接记录最短路从哪里来,也是正确的。
旧词(差分、树链剖分)
这是一道大家都应该见过的数据结构题……
没有思路的建议先去做LNOI2014 LCA
然后可以发现这就是上面那道题的\(k\)次方版本。那么对于点\(x\),记录它的权值为\(dep_x^k - (dep_x - 1)^k\),那么点\(x\)对点\(y\)的贡献就是\(LCA(x,y)\)及其祖先节点的权值之和。仍然用树链剖分+线段树维护链上权值和即可。
GZOI/GXOI2019的更多相关文章
- 【GZOI 2019】特技飞行
Problem Description 公元 \(9012\) 年,Z 市的航空基地计划举行一场特技飞行表演.表演的场地可以看作一个二维平面直角坐标系,其中横坐标代表着水平位置,纵坐标代表着飞行高度. ...
- [LOJ3083] [GXOI2019] 与或和
题目链接 LOJ:https://loj.ac/problem/3083 洛谷:https://www.luogu.org/problemnew/show/P5300 Solution 逐位考虑,可以 ...
- [LOJ3086] [GXOI2019] 逼死强迫症
题目链接 LOJ:https://loj.ac/problem/3086 洛谷:https://www.luogu.org/problemnew/show/P5303 Solution 显然不考虑\( ...
- GXOI&GZOI
T1 与或和 2s&&512MB 简明题意:求一个矩阵的所有子序列的 \(and\)和 和\(or\)和: 子矩阵的\(and\)和就是所有值\(and\)起来:\(or\)类 ...
- GZOI 2017配对统计 树状数组
题目 https://www.luogu.com.cn/problem/P5677 分析 最开始读题的时候没有读的太懂,以为i是在选定区间内给的,实际上不是,这道题的意思应该是在l和r的区间内找出有多 ...
- 「ZJOI Day2」游记
Day-1 晚上一直在出自己做的模拟赛的T1,真的快要死掉了. 分类讨论几十种情况. 窝还是找了Bluesky大佬一起来验题,她瞬间就A掉了这一道题目...自闭了.. 诶,我还是太弱了. 之前教练组织 ...
- JavaScript 高级程序设计(第3版)笔记——chapter5:引用类型
Chapter5 引用类型 本章内容: l 使用对象 l 创建并操作数组 l 理解基本的JavaScript类型 l 使用基本类型和基本包装类型 l 从技术上讲,JavaScript是一门面 ...
- OI暑假集训游记
莞中OI集训游记 Written BY Jum Leon. I 又是一载夏,本蒟蒻以特长生考入莞中,怀着忐忑的心情到了8月,是集训之际.怀着对算法学习的向往心情被大佬暴虐的一丝恐惧来到了 ...
- [solution]JZOJ-5838 旅游路线
[solution] JZOJ-5838 旅游路线 Time Limits 1000ms,Memory Limits 128MB 题面 Description GZOI队员们到X镇游玩.X镇是一个很特 ...
随机推荐
- THUWC2020 划船记
PS:THUWC2020在2019年 Day 1 考场外的太懒了不写了. 三题题目大意: T1: T2: 给定一个\(n(\leq 10^5)\)个结点的有向图,每条边有个limit,表示经过这条边l ...
- shell脚本编程基础之函数
函数 作用:代码重用 定义函数: 方法1: function FUNCTION_NAME { #函数名和定义变量名一样,只能包含数字字母下划线,并且不能以数字开头 command } 方法2: FUN ...
- Java int 与 Integer 区别
学习借鉴(其实搬了别人的好多)和自己的理解,可能会有较多错误,如有疑问联系我呀. int 是基本数据类型, Integer 是引用类型,也就是一个对象. int 储存的是数值,Integer 储存的 ...
- GoCN每日新闻(2019-10-16)
GoCN每日新闻(2019-10-16) GoCN每日新闻(2019-10-16) 1. 持续的性能分析与优化 https://medium.com/@tvii/continuous-profilin ...
- 【0521模拟赛】小Z爱划水
题目描述 小Z和其它机房同学都面临一个艰难的抉择,那就是 要不要划水? 每个人都有自己的一个意见,有的人想做题,有的人想划水. 当然,每个人只能选择一个事情做.如果一个人做的事情和他想做的不同,那么他 ...
- HttpClient介绍和简单使用流程
HttpClient SpringCloud中服务和服务之间的调用全部是使用HttpClient,还有前面使用SolrJ中就封装了HttpClient,在调用SolrTemplate的saveBean ...
- Jmeter(四十一)_图片爬虫
今天教大家用元件组合,做一个网页图片爬虫. 需要用到的元件:循环控制器+计数器+xpath提前器+函数嵌套+beanshell代码 首先我们确定一下要爬取的图片网站:https://dp.pconli ...
- python复合数据类型以及英文词频统计
这个作业的要求来自于:https://edu.cnblogs.com/campus/gzcc/GZCC-16SE1/homework/2753. 1.列表,元组,字典,集合分别如何增删改查及遍历. 列 ...
- Devops(三):Docker常用命令
列出镜像列表(docker images) [root@master docker]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello ...
- func 传参异步方法
public async Task<T> AssignAsync<T>(string key, Func<T> acquire) {} var result = a ...