BNU-2017.7.4排位赛2总结
链接:https://www.bnuoj.com/v3/contest_show.php?cid=9147#info
A题
sort之后交换首尾两个数。
B题
for一遍,如果每个数都在对应位置了,输出n;否则看一下不在对应位置的每个位置,是不是再映射一次以后恰好是自己,如果是cnt+2;否则cnt+1。
C题
一堆数任意乱减,减的结果不会超出n个数的gcd。而且所有可能得到的数是gcd*k,k是正整数,且gcd*k<=max{ai}。就看这些数中不在ai中的个数的奇偶性就行了。
D题
概率dp+状压dp。dp[S]表示S状态到达全1状态的期望次数。dp[(1<<n)-1]=0,然后从后往前推。
dp[S]=Σpi*(dp[S|i]+1), 0<=i<n。有一些状态dp[S|i]=dp[S]移到等式左边去就可以化简出dp[S]的公式。
E题
给n个点,问能选出多少个凸四边形。考虑对立面,看能选出多少个凹四边形,凹四边形必定有且仅有一个顶点被其他三个点构成的三角形包含。
所以枚举被包含的点O,然后再求有哪些三角形包含了这个点O。
再次考虑对立面,看哪些三角形没有包含这个点O。
以这个点O为中心极角排序后,枚举三角形的其中一个点A,然后去找另外两个点B,C,使得ABC不能包含O。
这个条件的等价条件是OA*OB>0且OA*OC>0,或者OB*OA>0且OB*OC>0,或者OC*OA>0且OC*OB>0。由对称性,只检验一个即可,这样每个三角形恰好选了一次。
F题
最小循环节长度=len-next[len]。
G题
差分约束系统,在维基百科上概念将的很清楚:https://zh.wikipedia.org/wiki/差分约束系统
但是上面没说当一个点确定的时候,其他点距离他的最大值怎么求。实际上要求S-T的最大值,只需要做T到S的最短路即可。如果要求S-T的最小值,只需要转化成T-S的最大值。
H题
方法1:x轴和y轴都离散化,然后这样以后本质不同的行只有O(400)个,相同的行可以通过一行做完然后做乘法来累加,每一行离散化以后直接暴力染色。
方法2:200*200条线把空间分成O(40000)个区域,每个区域可以用一个点做100次检验来得到颜色。
然而当时这两个方法都因为我colors写成color给挂掉了……
I题
待读题。
BNU-2017.7.4排位赛2总结的更多相关文章
- 2017 ZSTU寒假排位赛 #7
题目链接:https://vjudge.net/contest/149498#overview. A题,水题,直接按照题意模拟一下即可. B题,我用的是线段树.大力用的差分标记(上次听zy说过,下次再 ...
- 2017 ZSTU寒假排位赛 #1
题目链接:https://vjudge.net/contest/147102#overview. A题:给出一堆的点,要找出两条垂直的直线,一条与x轴呈45度.-->使得所有的点到任意一条直线的 ...
- 2017 ZSTU寒假排位赛 #2
题目链接:https://vjudge.net/contest/147632#overview. A题,状态压缩一下然后暴力即可. B题,水题,略过. C题,有负数,前缀和不是单调的,因此不能用尺取法 ...
- 2017 ZSTU寒假排位赛 #8
题目链接:https://vjudge.net/contest/149845#overview. A题,水题. B题,给出 p个 第一个人的区间 和 q个第二个人的区间,问[l,r]中有多少个整数满足 ...
- 2017 ZSTU寒假排位赛 #6
题目链接:https://vjudge.net/contest/149212#overview. A题,水题,略过. B题,水题,读清题意即可. C题,数学题,如果把x表示成x=nb+m,则k=n/m ...
- 2017 ZSTU寒假排位赛 #5
题目链接:https://vjudge.net/contest/148901#overview. A题,排序以后xjbg即可. B题,弄个数组记录当前列是不是删除以及当前行是不是已经大于下一行然后乱搞 ...
- 2017 ZSTU寒假排位赛 #4
题目链接:https://vjudge.net/contest/148543#overview. A题:n个罪犯,每个人有一个犯罪值,现在要从里面选出连续的c个人,每个人的犯罪值都不能超过t,问选法的 ...
- 2017 ZSTU寒假排位赛 #3
题目链接:https://vjudge.net/contest/147974#overview. A题,费用流,不会..跳过了. B题,给一个图,问至少添加几条边能成为强连通图.显然缩点,要使得成为一 ...
- 2017杭电ACM集训队单人排位赛 - 6
2017杭电ACM集训队单人排位赛 - 6 排名 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 59 1 X X 1 1 X X 0 1 ...
- 2017杭电ACM集训队单人排位赛 - 2 题解
1001,水题,直接模拟即可.比赛中开局连wa三发,因为把int写成了bool.. 1002,积分题,比赛中找到了下面这个积分公式, 但是并没什么用,,因为带入以后存在误差,估计是展开了以后出现了误差 ...
随机推荐
- shell基础 -- 基本语法
本文介绍一下 shell 的语法. 一.变量 在 shell 里,使用变量之前通常并不需要事先为他们做出声明,需要使用的时候直接创建就行了.默认情况下,所有变量都被看做字符串并以字符串来存储,即使它们 ...
- Kafka安装之三 spring-kafka实践
一.spring-kafka配置详解 1.1 要是用spring-kafka 我们首先要在pom要.xml中引入spring-kafka包 <dependencies> <depen ...
- JQuery点击打开再点击关闭
$("#03").click(function() { $("#03").show(speed); $("#03").css("c ...
- spark总结——转载
转载自: spark总结 第一个Spark程序 /** * 功能:用spark实现的单词计数程序 * 环境:spark 1.6.1, scala 2.10.4 */ // 导入相关类库impor ...
- ES6的新特性(4)——字符串的扩展
字符串的扩展 ES6 加强了对 Unicode 的支持,并且扩展了字符串对象. 字符的 Unicode 表示法 JavaScript 允许采用\uxxxx形式表示一个字在\u0000~\uFFFF之间 ...
- 在windows和unbuntu上安装octave
windows安装octave 安装wiki Octave ftp库 从上述的库中可以找到对应的版本的octave的exe安装程序,或者是zip等的压缩包,建议直接下载对应系统的exe执行文件.安装. ...
- net项目调试时,读取主干或其他项目代码问题
最近调试项目的时候出了一个很奇怪的问题. 项目总是去读取另外一个项目的配置文件,甚至执行的代码都是另外一个项目的. 我用vs修改代码时候,甚至修改到了其他项目的代码,生成不报错,很奇怪. 本来怀疑是v ...
- 奥特曼小分队之we are a team
团队名称:奥特曼小分队 团队博客链接:http://cnblogs.com/ATMXFD 团队负责跑腿的:李全清 http://www.cnblogs.com/QuanQingli/ 团队成员: 孙乐 ...
- Swift-存储属性,计算属性,类属性
//类的属性定义 class Student: NSObject { // 定义属性 // 定义存储属性 var age : Int = var name :String? var mathScore ...
- laraven安装记录
版本4.2.11 下载地址:https://codeload.github.com/laravel/laravel/zip/v4.2.11 步骤: 1.解压到目录 2.下载composer,并放到/u ...