【比赛】HNOI2018 转盘】的更多相关文章

[BZOJ5286][HNOI2018]转盘(线段树) 题面 BZOJ 洛谷 题解 很妙的一道题目啊.(全世界除了我这题都有40分,就我是一个状压选手 首先来发现一些性质,我们走一圈一定不会更差. 为啥呢?我们反过来看,我们可以钦定一个时间\(T\),然后从这个时刻出发,每个时刻可以向前走一步或者停留于此,而每个物品有一个消失时间,过了这个时间你还没有到这个位置你就凉了. 那么我们发现我们显然只需要走一圈就可以拿到所有的东西,如果走一圈还有东西拿不到那你走再多圈也拿不到. 那么现在我们要做的就是…
5286: [Hnoi2018]转盘 链接 分析: $\min\limits_{i=1}^n \{ \max\limits_{j=i}^{i + n - 1} \{ a_{j}+i \} \} +n-1$ $\min\limits_{i=1}^n \{ \max\limits_{j=i}^{2n} \{ a_{j}+i \} \} +n-1$ 然后线段树,每个区间维护两个值$mx[rt]=\max\limits_{i=l}^{r} a_i,\ $$ans[rt] = \max\limits_{i…
[HNOI2018]转盘 给你一个 \(n\) 元环, 你可以在 \(0\) 时刻从任意一个位置出发, 每一秒可以选择往后或者留在原地每个点有个参数 \(T_i\) , 当你走到 \(i\) 的时间 \(t\ge T_i\) 时你就可以把 \(i\) 标记问你把整个环上的点都标记最小需要多长时间, 带修改 \(T_i\), 强制在线. \(\text{Solution:}\) 只看题目比较难发现其中的性质,我们来手模一下. 比如 \(T = 1, 2, 5, 4, 5​\) 标记每个点的时间为…
5286: [Hnoi2018]转盘 Time Limit: 20 Sec  Memory Limit: 512 MBSubmit: 15  Solved: 11[Submit][Status][Discuss] Description 一次小G和小H准备去聚餐,但是由于太麻烦了于是题面简化如下: 一个转盘上有摆成一圈的n 个物品(编号1~n ),其中的i 个物品会在T_i时刻出现. 在0时刻时,小G可以任选n 个物品中的一个,我们将其编号为s_0​ .并且如果i时刻选择了物品s_i ,那么i+…
通过这题,我发现了我最大的缺陷,就是题目中重要的性质发现不了,所以导致后期根本做不了.还是要多做题,培养思维 对于这道题,来发现性质吧 对于每一条路线,因为它有用的就是最终的时刻,所以我们都可以把它变成一条由中间一个点出发,在起点等待一些时刻,然后接下来的每个时刻都向右走,在同一时刻完成任务 可以知道,每个路线都是可以这样转化的 所以我们要考虑的路线就只有在起点等待,然后不断向右走的路线 然后就有了这么一个式子(数组加长一倍,去掉环的影响) \(ans=min_{1 \leq i \leq n}…
Description Solution 首先注意到一个点不会走两次,只会有停下来等待的情况,把序列倍长 那么如果枚举一个起点\(i\),答案就是 \(min(max(T[j]+n-(j-i)-1)),j∈[i,2*n]\) 相当于从 \(i\) 出发,先走到 \(j\) 停下来,然后再走完剩下的,如果不合法则不会更优 最优情况一定是把等待时间尽量用在前面(把起点往前移) 设 \(a[i]=T[i]-i\) 原式变为: \(min(max(a[j]+i)+n-1),j∈[i,2*n]\) 维护…
BZOJ LOJ 洛谷 如果从\(1\)开始,把每个时间\(t_i\)减去\(i\),答案取决于\(\max\{t_i-i\}\).记取得最大值的位置是\(p\),答案是\(t_p+1+n-1-p=\max\{t_i-i\}+1+n-1\). 把环拆成链,每次询问就可以\(O(n)\)求了(滑动窗口). 考虑怎么维护答案:\(\min\limits_{i=1}^n\{\max\limits_{j=i}^{i+n-1}\{t_j-j\}+i\}+n-1\). 放宽一下条件,即\(Ans=\min\…
题意 给你绕成一圈的物品共 \(n\) 个 , 然后从其中一个开始选 , 每次有两种操作 , 一是继续选择当前物品 , 二是选择这个后一个物品 . 选择后一个物品要求当前的时刻大于后一个的 \(T_i\) . 第一次选择的时候也要满足这个条件 . 求选完所有物品的最小时间 . 并且有 \(m\) 次修改 , 每次修改一个点的 \(T_i\) , 修改后询问当前的答案 . 部分点要求强制在线 . \((n \le 100000 , m \le 100000 , T_i \le 100000)\)…
题意 题目链接 分析 首先要发现一个结论:最优决策一定存在一种 先在出发点停留之后走一圈 的情况,可以考虑如下证明: 如果要停留的话一定在出发点停留,这样后面的位置更容易取到. 走超过两圈的情况都可以变成走一圈+再走一段,首先若干圈显然只有最后一圈是有意义的. 但是可能在取到最后一个位置之前我们会把起点之前的一段后缀通过走一圈的方式取完,所以会再走一段. 进一步推理,发现情况2中,如果我们选择那段后缀的开头作为我们的起点,结果不会变差.容易归纳得到最终的答案一定只会走一圈. 将序列倍长,记 \(…
何学长口中所说的‘一眼题’……然而实际上出出来我大HN全省也只有一个人A…… 首先我们需要发现一个性质:我们永远可以在最后一圈去标记所有的物品.倘若我们反复转圈,那么这完全是可以省下来的.所以我们破环为链,以\(S\) 物品作为第一个被访问的节点时所需要的时间就是 \( max(T_{x} - x) + S \),其中 \( S <= x <= S + n - 1\).问题转化为如何使用数据结构来维护这些值得最小值.注意到 \(T_{x} - x \)都只与 \(x\) 有关,我们就他将它们合…
题目描述: bz luogu 题解: 看了半个晚上终于明白了. 首先最优决策一定有:在起始点停留一段时间然后一直前进. 解释网上有很多,在这里不赘述了. (由于是环,先把$T$数组倍长.) 首先基于决策我们的答案是$n-1+min_{i=1}^{n}i+max_{j=i}^{i+n-1}T[j]-j$ 考虑到$i+n-1$的后面一定不会有$max$,我们可以把上式变成$n-1+min_{i=1}^{n}i+max_{j=i}^{2*n}T[j]-j$ 那么右面那个的形式可以看做$min_{i=l…
HNOI2012 题解 [HNOI2012]永无乡 Tag:线段树合并.启发式合并 联通块合并问题. 属于\(easy\)题,直接线段树合并 或 启发式合并即可. [HNOI2012]排队 Tag:组合数学.高精度 因为男生没有限制,首先把男生排成一列. 然后分情况讨论: 两个老师之间有男生: 首先把两个老师插入到\(n\)个男生中,方案数\(\binom{n+1}{2}\) . 然后把女生插入到老师与男生中,方案数\(\binom{n+3}{m}\). 两个老师之间无男生: 那么两个老师之间只…
(总计:共66题) 4.18~4.25:19题 4.26~5.2:17题 5.3~5.9: 6题 5.10~5.16: 6题 5.17~5.23: 9题 5.24~5.30: 9题 4.18 [BZOJ3786]星系探索(伪ETT) [BZOJ4337][BJOI2015]树的同构(树的最小表示法) [BZOJ3551][ONTAK2010]Peaks(加强版)(Kruskal重构树,主席树) [CTSC2017]游戏(Bayes定理,线段树) 4.19 [CTSC2017]吉夫特(Lucas定…
Loj #2495. 「AHOI / HNOI2018」转盘 题目描述 一次小 G 和小 H 原本准备去聚餐,但由于太麻烦了于是题面简化如下: 一个转盘上有摆成一圈的 \(n\) 个物品(编号 \(1\) 至 \(n\))其中第 \(i\) 个物品会在 \(T_i\) 时刻出现. 在 \(0\) 时刻时,小 G 可以任选 \(n\) 个物品中的一个,我们将其编号记为 \(s_0\).并且如果 \(i\) 时刻选择了物品 \(s_i\),那么 \(i + 1\) 时刻可以继续选择当前 物品或者选择…
「HNOI2018」转盘 现场推出了大部分结论但是只写了 \(40\) 分暴力,被贺指导踩爆,现在还有点怀念 HNOI2018 贺指导对着镜子荒野行动的日子,那几天他云球迷瞎**指点篮球,被送上指导称号一个. 解题思路: 可以大力证明一定存在一种最优解只需要走一圈,假设存在一个最优解在某个时刻已经走了一圈回到出发点还剩下一些点没有被标记,那么最终还需要走到这些点标记一遍,这样的时间开销和在需要被标记的点之前等到它可以再走是等价的,所以一定存在一种最优解是在起始点等若干时刻然后一遍走完的. 于是可…
「AHOI / HNOI2018」转盘 可能是我语文水平不太行... 首先可以猜到一些事实,这个策略一定可以被一个式子表示出来,不然带修修改个锤子. 然后我们发现,可以枚举起点,然后直接往前走,如果要等就等到它出现. 因为如果不等,一定要走超过一圈,这样一定不如从它后面那个点当起点. 既然要等,不如我们就在起点等了,显然这样的等价的,于是我们可以搞出这个式子了. \[ \min_{i=1}^n(\max_{j=i}^{i+n-1}S_j-j+i)+n-1 \] 这里我们把\(S\)倍长了 稍微放…
一将功成万骨枯,我就是给那些队爷做基数的 一.比赛过程 Day1 看完题,暴力好打,然后就打 觉得第三题模型很好建啊,先看第三题吧(结果第三题是最..的) 图建出来,先看树的情况,设dp试一下 结果一直只想着一维的dp,没去想0/1状态表示是否选取,于是老久都没想出来 第一题一开始没看到30分的状压,突然看到,然后就赶紧码一下 之后,分数就没变了.... 第二题一开始的性质就无法发现,一直纠结于转圈圈的事情,没去想路线的转化,这是最重要的一步啊! 考试后期,就知道今天肯定要炸了,于是心情很不好…
题面 题解 考虑我肯定是从一个人出发,开始依次标记,而不会跳过某个人,因为如果我跳过了,那么我之后回来还需要标记它,比不上我等完它再一直走到最后(因为多了走一圈之后走回它的代价) 我们倍长整个序列,我们要求的就是 \(Min_{i = 1}^{n}{Max_{j = i}^{i + n - 1}{T_j - j + i + N - 1}}\) 显然\(j\)越大这个值越小,那么又可以转化成 \(Min_{i = 1}^{n}{Max_{j = i}^{2n}{T_j - j + i + N -…
这题很考思维啊,考验我们能否快速从省选难度跳转到普及难度 考试的时候真的想得太多,觉得省选不可能这么简单吧,然后就打脸 设 \(f[i][j][x]\) 表示从根到 \(x\) 号点,有 \(i\) 条公路未修,有 \(j\) 条铁路未修的最小答案 然后? 直接转移啊 对于乡村:\(f[i][j][x]=c[x]*(a[x]+i)*(b[x]+j)\) 对于城市:\(f[i][j][x]=min\{f[i+1][j][ls]+f[i][j][rs],f[i][j][ls]+f[i][j+1][r…
这题原题... 这题题面七绕八绕,有点麻烦,反正最后转化就是一棵树,每个点有一个值,要把所有点选完,要求选择一个点必须是它的父亲和祖先已经全部被选了,贡献是这个点的权值乘上它被选择的排名 如果一个点是它的父亲的所有儿子中权值最小的点,那么只要它的父亲选了,那接下来就肯定是选它.所以在序列中这个点的父亲是和它相邻的,可以直接合并了 然后看两个序列合并是如何合并的 例如长 \(m_1\)​ 的序列 \(a\) 和长 \(m_2\) 的序列 \(b\),和并后会放在整个序列的第 \(i\) 位置之后…
考试的时候线段树区间查询的return条件打成了l==r....于是光荣爆20(线段树都不会打了?) 看膜博士的题解 #include<bits/stdc++.h> #define ui unsigned int #define ll long long #define db double #define ld long double #define ull unsigned long long const int MAXN=1000000+10,inf=0x3f3f3f3f; int n,m…
虚树+dp 直接看zlttttt的强大题解 zlttttt的题解看这里 #include<bits/stdc++.h> #define ui unsigned int #define ll long long #define db double #define ld long double #define ull unsigned long long const int MAXN=100000+10,MAXM=100010+10,Mod=998244353; int n,m,e,to[MAXM…
考试的时候就拿了30points滚粗了 听说myy对这题的倒推做法很无奈,官方题解在此 正解思路真的很巧妙,也说的很清楚了 就是分别考虑每一位,会发现题解中的那个性质,然后把询问的二进制数按照排序后的位置放好,如果有1在0后面,那就肯定puts("0"),否则根据那个式子,每一位都要满足那个条件,最后范围不断缩小,就变成了两个数的差 #include<bits/stdc++.h> #define ui unsigned int #define ll long long #d…
HNOI2018 寻宝游戏(位运算.基数排序) 看到位运算就要按位考虑.二进制下,\(\land 1\)与\(\lor 0\)没有意义的,\(\land 0\)强制这一位变为\(0\),\(\lor 1\)强制这一位变为\(1\) 那么如果某一位的答案要为\(0\),也就意味着:要么同时不存在\(\land 0\)与\(\lor 1\),要么最后一个\(\land 0\)后面不能有\(\lor 1\).答案为\(1\)同理. 那么对于每一位,将所有\(a_i\)在这一位上的值从右往左看作一个二进…
HNOI2018简要题解 D1T1 寻宝游戏 题意 某大学每年都会有一次 Mystery Hunt 的活动,玩家需要根据设置的线索解谜,找到宝藏的位置,前一年获胜的队伍可以获得这一年出题的机会. 作为新生的你对这个活动非常感兴趣.你每天都要从西向东经过教学楼一条很长的走廊,这条走廊是如此的长,以至于它被人戏称为 infinite corridor.一次,你经过这条走廊的时,注意到在走廊的墙壁上隐藏着 \(n\) 个等长的二进制的数字,长度均为 \(m\).你从西向东将这些数字记录了下来,形成一个…
HNOI2018 退役记 \(day0\): 除了切水题以外没有什么很重要的事. \(day1\): 进考场发现前面是\(yyb\)?\(orzyyb\) 试题解压密码终于没有奇怪的字符了,一遍打对. 看了一下题,觉得今年\(HNOI\)会有高论? \(T1:\)寻宝游戏 \(10\)分显然是爆搜,还有\(20\)分随便状压一下就可以了啊... 发现是位运算,于是按位考虑,最后把方案数乘起来就可以了? 是个鬼啊.与和或是对于整个数的操作,位之间会互相影响啊! 看起来可以倒推?想了一下没想出来,下…
HNOI2018 摸鱼记 今天我又来记流水账啦 Day 0 颓废的一天. 我,球爷和杜教在颓膜膜.io ych看起来在搓碧蓝 鬼知道哥达鸭干了什么 学习氛围只局限在机房的一角 后来全体Oier开会,5:30硬生生拖到近6:00才开始 讲的东西都是些老套路了 Day 1 希望不要像HNOI2016那样一piang数piang的数据结构题 考试地点还是那熟悉的理工大 开机密码还是123456 不过比上次NOI Pro良心的是考试之前允许(?)打配置 ~考试开始~ 迅速打开压缩包 Emery List…
前言 前两天去一家公司面试,被问到一些小游戏的东西.面试官提到了刷红包还有抽奖这些怎么实现,当时简单说了下思路,回来之后想想还是说的太轻描淡写了,干说不做就是耍流氓,所以就做了一个(Demo & 源码).启动方式:手指在转盘上滑动,转盘转动.这里没有像一般的抽奖程序一样在后台指定抽奖结果,结果完全由你的手速决定的(老板哭了...) 界面 界面很简单,网上搜个图片或者直接搜个 demo 就有了,当然自适应也是必须的.这里用了 Rem 来实现自适应,所有尺寸单位均用 rem,改变 html 节点的…
之前的文章中,介绍了用WPF做一个转盘按钮控件,后来需要把这个控件移植到WinRT时,遇到了很大的问题,主要原因在于WPF和WinRT还是有很大不同的.这篇文章介绍了这个移植过程,由于2次实现的控件功能完全一样,文章主要关注点放在WPF与WinRT的不同上. 定义控件模板的XAML文件 在WinRT上的实现和WPF中实现一个很大的不同是,这个实现的TemplatedControl没有从ItemsControl继承,而是由Control继承手动添加了一些对集合属性的支持.不从ItemsContro…
近日,Livecoding.tv, 一个为世界各地的程序员提供在线实时交流的平台,在其网站上发布了一篇通知, 宣布从4月15日至5月15日,会为iOS和Android的开发者举办一场本地移动app设计比赛.据介绍,此次比赛旨在鼓励广大编程爱好者积极参与程序开发,亦让大家可以有机会大展所长.通过比赛,让大家发现更多编程的乐趣.比赛将对所有人开放,不论是不是livecoding.tv上的注册用户,均可报名参加.届时,Livecoding.tv将在其博客空间上进行投票,选出得奖的App.比赛共设三个奖…