首页 > TAG信息列表 > JXOI2018
P4562 [JXOI2018]游戏
给定一个区间[L,R],每次可以去除区间一个数字及其它的倍数,求把整个区间消去的步数的所有情况的和 我们可以定义整个区间伪素数为这个区间没有它的倍数的数,那么一个消去顺序的步数就是最后面的伪素数。那么我们可以枚举这个最右边的伪素数的质数的位置为i,依次算出每个位置的贡献,方[JXOI2018]游戏
XIII.[JXOI2018]游戏 这题好像根本不算概率期望罢…… 我们考虑\([l,r]\)中,如果删去了区间中所有不是区间中其他任何数的倍数的数,则整个区间内所有的数都会被删去;反之,假如剩下了某些不是区间中其他任何数的倍数的数,则此区间一定不会被全部删完。 于是我们考虑求出区间中上述数的个[JXOI2018]排序问题
XIV.[JXOI2018]排序问题 本题好像又不算期望罢…… 根据一些简单的推理,我们发现最终答案就是 \[\dfrac{(n+m)!}{\prod\limits_{i}cnt_i!} \]其中\(cnt_i\)表示有多少个数是\(i\)。(这很简单,因为只有每个位置一一对应才能排序成功;但是值相同的数之间两两可以相互替换,故要除掉) 我们发LOJ2545 「JXOI2018」守卫
LOJ2545 「JXOI2018」守卫 题目大意 有 \(n\) 座山,第 \(i\) 座山是从 \((i, 0)\) 到 \((i, h_i)\) 的线段。称从第 \(i\) 座山能看到第 \(j\) 座山,当且仅当 \(i\geq j\) 且不存在 \(i < k < j\) 使得 \((j, h_j)\) 到 \((i, h_i)\) 的连线经过了第 \(k\) 座山(恰好交于一点也算经过BZOJ 5324: [Jxoi2018]守卫 区间DP
思路非常巧妙啊 code: #include <cstdio> #include <algorithm> #define ll long long #define N 5003 #define setIO(s) freopen(s".in","r",stdin) using namespace std; int f[N][N],h[N],n; double slope(int l,int r){return (doubl【JXOI2018】守卫
题面 https://www.luogu.org/problem/P4563 题解 一步杀神仙题。 首先,对于一段区间$[l..r]$,$r$必须选。 $r$选以后,能被看到的元素必然是和$r$斜率的后缀最小值。 根据$\mbox{Gloid}$爷的神仙性质,对于一段不能被看到的区间$[x..y]$(后缀最小值在$y+1$处),不可以被$(y+1..r]$的守卫看[JXOI2018]排序问题
题目 大模拟 显然这个期望次数是\(\frac{(n+m)!}{\prod a_i!}\),\(a_i\)表示第\(i\)个数出现的次数,我们要最大化这个值只需要最小化\(\prod a_i!\)就好了 要加入\(m\)个范围在\([l,r]\)的数,肯定不会影响在原序列里出现过的且不属于\([l,r]\)的数的出现次数,这个直接算就好了 我们有\(JXOI2018做题笔记
发现自己不会T3可以退群了 排序问题(组合、模拟) 可以发现Gobo Sort相当于在所有排列中随机选择一个,所以当第\(i\)个数出现次数为\(a_i\)时,期望的Sort次数就是\(\frac{(n+m)!}{\prod\limits_{i=1}^{10^9} a_i!}\)。 我们希望Sort次数尽可能大,也就是能够让\([L,R]\)内的\(a_i\)尽可能[JXOI2018]游戏
Description: 她长大以后创业了,开了一个公司。 但是管理公司是一个很累人的活,员工们经常背着可怜偷懒,可怜需要时不时对办公室进行检查。 可怜公司有 \(n\) 个办公室,办公室编号是 \(l\) 到 \(l+n-1\) ,可怜会事先制定一个顺序,按照这个顺序依次检查办公室。一开始的时候,所有办公室的员【JXOI2018】守卫
【JXOI2018】守卫 参考题解:https://blog.csdn.net/dofypxy/article/details/80196942 大致思路就是:区间DP。对于\([l,r]\)的答案,\(r\)肯定要放守卫,然后\(r\)不能看到的一些连续区间\([l_k,r_k]\)是相互独立的。所以\(f_{l,r}=\sum min \{ f_{l_k,r_k},f_{l_k,r_k+1} \}+1\) 代码: #JXOI2018题解
排列问题 比较明显的贪心吧,就先让排名最小的增加到排名第二的权值,再让排名第二的权值增加到排名第三的权值,sortsortsort完之后按顺序搞就好了,模数搞错弄了半天。。。 #include <ctime> #include <cmath> #include <cstdio> #include <cstring> #include <cstdlib> #include <[JXOI2018]游戏
题目 人生第二道可怜题,依旧来自于\(JXOI\) 首先发现这个东西长得和分手是祝愿差不多,于是考虑一下贪心 显然贪心的策略应该是从小到大一个一个试,遇到一个不能表示成前面的数的倍数的数就把这个数选上 先用类似埃筛的东西求出这样的数的个数\(m\) 如果\(t(p)=i\),那么这\(m\)个都必须【jxoi2018】游戏 组合数学
首先令$n=r-l+1$。 令$k$表示区间$[l,r]$中存在多少个数$x$,使得$x$不存在小于$x$且在区间$[l,r]$中的因数,我们把包含这些数的数集称为$S$ 我们来先想一个$O(nk)$的$min-max$容斥做法吧。。。。。 显然这一题我们可以转化为min-max容斥的模型(将这k个数选完期望需要选多少次) $max_{S}【JXOI2018】排序问题 贪心
我们令$sum_i$表示数字i在加完数字的数列中出现的次数,那么答案显然为$\dfrac_{(n+m)!}{\sum_{i=0}^{\infty}sum_i!}$ 不难发现,当每次添加的数为$[l,r]$中出现次数最少的数时,答案就是最小的了。 然后就没了 貌似我常数比较大在loj上是997ms过的。。。。。。 1 #include<bits/st