[HNOI2019]多边形】的更多相关文章

[HNOI2019]多边形(模拟,组合计数) 题面 洛谷 题解 突然特别想骂人,本来我考场现切了的,结果WA了几个点,刚刚拿代码一看有个地方忘记取模了. 首先发现终止态一定是所有点都向\(n\)连边(看样例图解就知道了) 那么大力猜想一下第一问的答案一定是\(n-3-\)和\(n\)号点直接相连的边数. 手玩一下,发现这样一件事情:和\(n\)直接相连的所有边把多边形分割成了若干个区间,每个区间都用\([l,r]\)表示. 对于\([l,r]\)这个区间,因为已经分割出来了,也就是除了\(l-n…
HNOI2019 多边形 polygon https://www.luogu.org/problemnew/show/P5288 这题镪啊... 首先堆结论: 显然终止状态一定是所有边都连向n了 根据样例及打表猜个结论,每一步一定可以新连一条到n的边,这个结论也很好证 然后可以把多边形分成若干区间,这些区间形成一棵树.具体划分方法很简单,就是用一些现有的点和中间所有边构成的多边形缩成一个区间,这些点要满足:编号连续,和只有编号最小最大的点与n有连边.比如样例中[1,3],[3,5],[1,5].…
传送门 这是什么神仙操作... 首先要注意一些性质.首先每一个\((x,n)\)的边可以把当前多边形分成两半,这两半的操作是独立的.然后对于某一个没有\((x,n)\)的边的多边形,最优操作是唯一的.拿样例举例,必须先选\((1,5)\),然后多边形被分成两半,这两半分别只能选\((1,3)\),\((3,5)\). 可以发现,这里每次操作的多边形上的点分别是\(l,l+1...,r(l\ge 1,r<n,r-l>1)\)和\(n\),然后最优方案要选\((l,r)\)这条边,把多边形分成\(…
点此看题面 大致题意: 给你一个多边形,用若干不重合.不相交的线段将其划分为若干三角形区域,并定义旋转操作\((a,c)\)为选定\(4\)个点\(a,b,c,d\)满足\(a<b<c<d\)且\(ab,ac,ad,bc,cd\)有连边,然后删去边\(ac\)并加上边\(bd\).带修独立询问至少旋转几次使得无法继续旋转. 关于无法继续旋转 第一次看完题面,我是一脸懵逼:选中四个点不可以无限重复旋转吗?为什么会无法旋转? 然后冷静了一下重新看了遍题面,才发现\(a,b,c,d\)是有序的…
题意 题目链接 分析 不难发现终态一定是 \([2,n-2]\) 中的每个点都与 \(n\) 连边. 关于凸多边形的划分问题,可以将它看作一棵二叉树:每个树点可以看做点可以看做边. 本题中看做点来处理,并将与 \(n\) 号点相连的所有节点看作一次分割(这些点之间一定有连边),每个分割出的区间(也是一棵树)里的根连到树的根. 对于第一问,答案为 \(n-3\) 条边中未连接 \(n\) 号点的边数.容易构造一种方案达到下界: 对于树的根,不同的子树每一步有且仅有一个位置满足可以旋转.这个点没有和…
Luogu5288 注意:n边形里共有n-3条边 最优步数=不与n相连的边数,关键是方案数. 按照处理顺序可以转化为树形结构即二叉树森林,转移方案数用组合数即可 关键是快速处理修改. 1.最优解减少一步,即删掉某棵二叉树的根,合并它的两个儿子. 2.相当于在splay中把它rotate一下,而且不知道为什么它还一定是左儿子 #include<cstdio> #include<iostream> #include<cstring> #include<algorith…
原题传送门 HN的题目就是毒瘤 我们有以下猜想: 1.最后所有的线都连到了n号点上 2.最小步数应该为n-3-已经连到n号点的线段数量 本来有些边\((a_i,n)\)会将整个图分割成很多个区间.对于一个区间\([l,r]\),\(l,r\)之间必定存在一条边,并且一定存在点\(mid\)有\((mid,l),mid(mid,r)\)的边,所以我们珂以用一次旋转使得\((l,r)\)变成\((mid,n)\),这样这个区间有珂以分成两个子区间,珂以建出二叉树.一直如此,直到\(r=l+1\)为止…
前言 \(Day2\),又是一场噩梦. 前段时间去做了挺多十二省联考和\(HNOI2019\)的题目,还订正掉了\(Day1\)的\(T1\)和\(T2\)(\(T3\)动态\(DP\)完全不想订正啊). 希望水平能有一定提升吧! \(Apr\ 23rd\):出发 早上来机房,又大眼调了一遍昨天没调出来的希望,终于发现一个无比智障的错误,才终于过掉了这道毒瘤题:[洛谷5291][十二省联考2019] 希望. \[「那就是希望.」\] \[「即便需要取模,也是光明.」\] 等zzk等车的时候复习了…
Loj #3056. 「HNOI2019」多边形 小 R 与小 W 在玩游戏. 他们有一个边数为 \(n\) 的凸多边形,其顶点沿逆时针方向标号依次为 \(1,2,3, \ldots , n\).最开始凸多边形中有 \(n\) 条线段,即多边形的 \(n\) 条边.这里我们用一个有序数对 \((a, b)\)(其中 \(a < b\))来表示一条端点分别为顶点 \(a, b\) 的线段. 在游戏开始之前,小 W 会进行一些操作.每次操作时,他会选中多边形的两个互异顶点,给它们之间连一条线段,并且…
题目 描述 ​ 给出一个 \(n\) 个点的多边形初始的三角剖分: ​ 一次合法的旋转定义为 \((a,b,c,d)\) ,满足 \(a<b<c<d\) : ​ 并且存在边\((a,b)(b,c)(c,d)(d,a)(a,c)\) ,将 \((a,c) - > (b,d)\) ; ​ 简化后用\((a,c)\)描述一次旋转: ​ 给出 \(m\) 个旋转操作,表示每次从初始状态 \(S_0\) 旋转成 \(S_i\) : ​ 询问对于 \(S_0 - S_m\) 到不能旋转的最少的…