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,积分题,比赛中找到了下面这个积分公式, 但是并没什么用,,因为带入以后存在误差,估计是展开了以后出现了误差 ...
随机推荐
- 二维DCT变换
DCT(Discrete Consine Transform),又叫离散余弦变换,它的第二种类型,经常用于信号和图像数据的压缩.经过DCT变换后的数据能量非常集中,一般只有左上角的数值是非零的,也就是 ...
- POJ 3579 Median 二分加判断
Median Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 12453 Accepted: 4357 Descripti ...
- Halcon算子解释
Halcon算子解释大全 Halcon/Visionpro视频教程和资料,请访问 重码网,网址: http://www.211code.com Chapter 1 :Classification 1. ...
- Visual Studio 调试时无法命中断点
1.查看代码优化是否勾选,如有去掉勾选 2.确保是在Debug模式下设置的断点 3.确保在启动时未修改代码即“要求源文件和原始版本完全匹配” 4.DLL的引用问题
- ES6的新特性(10)——Class 的基本语法
Class 的基本语法 简介 JavaScript 语言中,生成实例对象的传统方法是通过构造函数.下面是一个例子. function Point(x, y) { this.x = x; this.y ...
- Java访问控制
转自:菜鸟教程
- Beta阶段第一次网络会议
Beta阶段第一次网络会议 游戏问题 游戏细节特征不够明显,大小虽然随着电脑分辨率的不同变化着,但是存在清楚的问题 游戏中的提示信息不够,玩家无法快速了解游戏 游戏中背景声音过于单一 游戏AI太简单 ...
- 解决Ubuntu(Linux)平台下Sublime Text 3 安装中文输入支持库后 开启gnome-terminal报错的问题
在Ubuntu下安装Sublim Text3后发现无法输入中文,按照此链接的方法解决后.然后用下列代码配置C++的编译系统: { "cmd":["g++",&q ...
- [cnbeta]微软最强数据中心级操作系统
微软近日发表了一篇介绍Windows系统内核的博文,期间为了展示Windows的强大扩展性,放出了一张非常震撼的Windows任务管理器截图:乍一看似乎没啥特别的,几十甚至上百个逻辑核心的系统并不罕见 ...
- Laravel 框架集成 UEditor 编辑器的方法
㈠. 背景 在项目开发的过程中,免不了使用修改功能,而富文本编辑器是极为方便的一种推荐,当然,个人认为 MarkDown 更为简单,但是感觉暂时只适合程序猿 此文介绍如何在 Laravel5.5 ...