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镇是一个很特 ...
随机推荐
- 51Nod 1769 Clarke and math2
51Nod 1769 Clarke and math2 http://www.51nod.com/Challenge/Problem.html#!#problemId=1769 要算的是\(G=F*I ...
- 【洛谷P2270】奶牛的运算
题目链接 不难发现,每加一个括号,就相当于把括号内一段区间中的符号反转,于是就是看n-1个符号经过k次区间反转后的状态数,用插板法搞一搞就可以了 #include<iostream> #i ...
- IDEA 重新 build Project
- mysql的动态表名
create EVENT createMtpulseTable ON SCHEDULE every 1 month STARTS CURRENT_TIMESTAMP DO CALL pro_creat ...
- hdu4841 圆桌问题[STL vector]
目录 题目地址 题干 代码和解释 参考 题目地址 hdu4841 题干 代码和解释 解本题时使用了刚学的STL vector,注意hdu不支持万能头文件#include<bits/stdc++. ...
- 【大数据】分布式文件系统HDFS 练习
作业要求来自于https://edu.cnblogs.com/campus/gzcc/GZCC-16SE2/homework/3292 利用Shell命令与HDFS进行交互 以”./bin/dfs d ...
- 退出状态、测试(test or [])、操作符、[]与[[]]区别
一.退出状态 系统每执行一个命令,都会返回一个退出状态,若返回退出状态为0,表示命令执行成功, 若返回退出状态不为0,表示命令执行有错误. echo $? 可以打印出退出状态. 例如:ls echo ...
- Java内存模型与Volatile,Happen-Before原则等
Java的内存模型 Java内存模型(JMM)是一个抽象的模型.决定了线程主要定义了线程和内存间的抽象关系:主内存存放的是线程共享变量,每个线程有自己的工作内存,存放变量的副本,只能对副本进行读写, ...
- 【转】ANDROIDROM制作(一)——ROM结构介绍、精简和内置、一般刷机过程
作为对Rom制作的一个总结,本节主要介绍以下内容: 1.Rom介绍 2.Rom文件结构 3.app的精简与内置 4.Recovery简介 5.radio包简介 6.一般刷机过程.刷机过程中 ...
- CEF 访问需要认证网页或接口(在Request的Headers中添加认证Token)
转载:https://blog.csdn.net/wdw984/article/details/85275289 1.首先要让我们自己的CefClient这个类公有继承CefRequestHandle ...