【loj2552】【CTSC2018】假面】的更多相关文章

BZOJ5340: [Ctsc2018]假面 https://lydsy.com/JudgeOnline/problem.php?id=5340 分析: 背包,只需要求\(g_{i,j}\)表示强制活第\(i\)个人一共活了\(j\)个人的概率,\(f_j\)表示活了\(j\)个人的概率 . 这个东西有\(g_{i,j}=f_{j}-g_{i,j+1}\times p_i/(1-p_i)\) 转移即可,有小细节. \(p_i\)可能为\(0\)使得没有逆元,不过此时答案一定为\(0\). 在计算…
https://www.lydsy.com/JudgeOnline/problem.php?id=5340 https://www.luogu.org/problemnew/show/P4564 https://loj.ac/problem/2552 (这送分题我写不出来……我退役吧) 也懒得写题解了,看https://kelin.blog.luogu.org/solution-p4564吧. 什么你说op=1的你没听懂,那你可能和我一样了(握手(大雾. 那么遵从原题解的命名,f[u][i]表示…
题目大意 有\(n\)(\(n\leq200\))个非负整数\(m_1,m_2,...,m_n\)(\(\forall i\in[1,n],m_i\leq100\)),有\(q\)(\(q\leq2*10^5\))个操作,每个操作是以下两种之一: (1)给出位置\(x\),概率\(q\),若\(m_x\)大于0,则有\(q\)的概率将\(m_x\)减一:若\(m_x\)为0,则不进行任何操作 (2)给出一个数\(k\)和\(k\)个不重复的位置\(d_1,d_2,...d_k\),在\(m_{d…
题目链接 LOJ 2552 Luogu P4564 考场上这道题我先是写了个70分暴力,然后发现似乎可以NTT,然鹅问题是--我没学过NTT,遂脑补之,脑补出来了,下午出成绩一看,卡成暴力分(70)--同是\(O(Qk^2\log k)\),学姐的拉格朗日什么玩意就能过TAT--学姐太强了-- 遂不忿,今天上午重写NTT,努力卡常,卡不进去-- 那还是写正解吧. 首先,发现血量上限很少,0操作时,暴力维护每一时刻每个人是每种血量大小的概率即可. 1操作怎么办呢?设\(alive_i\)是\(i\…
LINK 思路 首先考虑减血,直接一个dp做过去,这个部分分不难拿 然后是\(op=1\)的部分 首先因为要知道每个人被打的概率,所以需要算出这个人活着的时候有多少个人活着时概率是什么 那么用\(g_{i,j}\)表示第i个人还活着的时候还有其他的j个人活着的概率 这个东西暴力DP是\(n^3\)的 那么可以考虑优化,用\(f_{i,j}\)表示前i个人有j个人活着的概率 有转移:\(f_{i,j}=f_{i-1,j-1}*(1-p_i)+f_{i-1,j}*p_i\),其中\(p_i\)表示第…
题目 先来考虑一下第一问,血量有\(P\)的概率减\(1\) 由于我们最后需要求每一个人的期望血量,于是考虑维护出每个人处于不同血量时候的概率 一个简单\(dp\)即可 \[dp_{i,j}=dp_{i,j+1}P+dp_{i,j}\times (1-P)\] \(dp_{i,j}\)表示第\(i\)个人血量为\(j\)的概率 第二问,发现概率的选中的人中的存活人数有关 于是每一个人只有两种状态,生或者是死,我们考虑求出每种存活人数对应的概率是多少 显然这里我们有一个这样的\(dp\) \[f_…
Description 题面 Solution 生命值范围比较小,首先维护每一个人在每个血量的概率,从而算出生存的概率,设为 \(a[i]\) 询问时,只需要考虑生存的人数,可以 \(DP\) 设 \(g[i][j]\) 表示前 \(i\) 个人活了 \(j\) 个的概率 \(g[i][j]=g[i-1][j-1]*a[i]+g[i-1][j]*(1-a[i])\) 那么考虑每一个人时,我们对其他人做这个 \(DP\) 就行了,可以做 \(O(C*n^3)\) 实际上这是个生成函数 \((a[i…
题目链接 BZOJ5340 题解 我们能很容易维护每个人当前各种血量的概率 设\(p[u][i]\)表示\(u\)号人血量为\(i\)的概率 每次攻击的时候,讨论一下击中不击中即可转移 是\(O(Qm^2)\)的 现在考虑一下结界 如果我们设\(f[u][i]\)表示除了\(u\)还存活\(i\)个人的概率 那么 \[ans[u] = (1 - p[u][0]) \sum\limits_{i = 0}^{k - 1} \frac{f[u][i]}{i + 1}\] 所以我们只需计算\(f[u][…
考场上以为CTSC的概率期望题都不可做,连暴力都没写直接爆零. 结果出来发现全场70以上,大部分AC,少于70的好像极少,感觉血亏. 设a[i][j]表示到当前为止第i个人的血量为j的概率(注意特判血量为0的情况).那么a[i][0]则为这个人的死亡率. 设dp[i]表示当前指定集合中,有i个人存活的概率. 可以发现a[][]和是可以推导出dp[]的,直接DP可以得到70分.同时发现dp[]存在逆变换,所以复杂度就可以通过了. 但是如果写丑了还是会被卡掉,优化方法可以加快读,减少取模次数,以及预…
传送门 \(Q \leq 200000 , C \leq 1000 , m_i \leq 100\)-- 先考虑如何维护最后一次操作时所有人的血量期望.不难发现我们需要的复杂度是\(O(Qm_i)\)的,所以不难想到一个Easy的DP:设\(f_{i,j}\)表示当前操作结束后第\(i\)个人血量为\(j\)的概率,转移考虑技能是否命中. 然后考虑结界的释放.注意到结界是否释放到每一个人只和TA和其他人是否存活有关,而和血量无关.所以考虑枚举每一个人,在TA存活的前提下再设一个DP:\(g_{i…
题目传送门 题意: 有 \(n\) 个怪物,第 \(i\) 个怪物初始血量为 \(m_i\).有 \(Q\) 次操作: 0 x u v,有 \(p=\frac{u}{v}\) 的概率令 \(m_x\) 减 \(1\),另外 \(1-p\) 的概率啥也不干.如果 \(m_x=0\),那么这个操作无效. 1 k x[1] x[2] ... x[k],在 \(x_1,x_2,\dots,x_k\) 这 \(k\) 个怪物中的血量不为 \(0\) 的怪物中,随机选择一个怪物.问对于 \(i=1,2,\d…
HNOI2018省队集训 Day 1 流水账 T1 tree 换根+求\(lca\)+求子树和,一脸bzoj3083遥远的国度的既视感.子树和讨论一下就好了,\(lca\)?也是大力讨论一波. 先写了个线段树标记永久化,一发过了小样例,然后大样例...没几组询问就\(WA\)了.写了个暴力,每次输出求出来的\(lca\)(我怎么这么机智啊),发现\(WA\)了,然后就对着自己的大力讨论大力魔改.大概是\(10:00\)的时候大样例终于过了,没写拍(因为不会写\(win\)下的拍qaq). T2…
(总计:共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定…
[THUPC2018]城市地铁规划 (日常讲题之前 YY--) 一眼出 \(O(n^3+nk)\) 做法. \(dp[i][j]\) 表示前 \(i\) 个点,前 \(i\) 个点度数和为 \(j\) 的最小值. \[dp[i][j]=\min\limits_{1\le k\le n-1}(dp[i-1][j-k]+f(k))\] 答案是 \(dp[n][2n-2]\). 我把它优化到了 \(O(n^2\sqrt{n})\),然后就自闭了. (讲题之后--) 换成 prufer 序列,也就是前…
题目 有\(n\)个敌方单位,初始生命值分别为\(m_1,\cdots,m_n\) : 假面可以释放\(Q\)个技能: $op = 0  ,  id , u , v $ 表示对\(id\)号敌人有\(\frac{u}{v}\)的概率造成\(1\)点伤害: $op = 1  ,  k  ,  a_1,\cdots a_k $ 表示在这些位置中生命值为正的位置里随机选择一个位置释放结界: 你需要对每个\(op=1\),输出\(a_1,\cdots, \ a_k\)中结界的期望(\(op=1\)操作最…
题目链接 loj#2552. 「CTSC2018」假面 题解 本题严谨的证明了我菜的本质 对于砍人的操作好做找龙哥就好了,blood很少,每次暴力维护一下 对于操作1 设\(a_i\)为第i个人存活的概率,\(d_i\)为死掉的概率,\(g_{i,j}\)是除i以外活了j个人的概率 那个选中i人的答案就是 \[a_i\times\sum_{j = 0} ^{k - 1}\frac{g_{i,j}}{j + 1}\] 对于\(g_{i,j}\) ,设\(f_{i,j}\)表示前\(i\)个人有\(…
题意 题目链接 Sol 多年以后,我终于把这题的暴力打出来了qwq 好感动啊.. 刚开始的时候想的是: 设\(f[i][j]\)表示第\(i\)轮, 第\(j\)个人血量的期望值 转移的时候若要淦这个人,那么\(f[i][j] = (f[i - 1][j] + 1) * p + (f[i - 1][j]) * (1 - p)\) 然后发现自己傻逼了..因为期望不能正着推. 考虑直接推概率,设\(t[k][i][j]\)表示第\(k\)轮,第\(i\)个人,血量为\(j\)的概率 这玩意儿是可以转…
真~签到题qwq 昨天在考场上先写了个70分暴力dp,然后发现好像可以优化.因为结界技能的模型相当于要求出 对于每个物品,仅仅不选它的背包是什么....  于是当场脑补出两种做法: 前缀和后缀背包卷积NTT.以及单点删除背包的分治做法. 想了想两种做法都是 O(N^2 log N) 的,并且NTT我更有把握一点(写得多不太容易gg),所以果断写了NTT... 复测完之后,带log的只有NTT被卡成暴力分gg,其他的分治做法的都被放过去了qwq(虽然正解没log). 艹NTT的log大的上天,我以…
传送门 记\(p_{i,j}\)为\(i\)还剩\(j\)滴血的概率,那么\(i\)最后血量的期望就是\[E_i=\sum_{j=0}^{m_i}j\times p_{i,j}\] 然后\(p\)数组也很好转移,记这一次\(i\)收到伤害的概率为\(q\),那么转移方程为\[p'_{i,0}=p_{i,0}\times q\] \[p'_{i,j}=p_{i,j+1}\times q+p_{i,j}\times (1-q)\] 于是操作\(1\)就解决了 然后考虑操作\(2\)是个什么玩意儿 记…
题目:https://loj.ac/problem/2552 70 分就是 f[i][j] 表示第 i 个人血量为 j 的概率.这部分是 O( n*Q ) 的:g[i][j][0/1] 表示询问的人中,前/后 i 个人,存活 j 个人的概率.做 g[ ][ ] 是 n^2 的,算答案是 n3 的. 考虑 g[ i ] 表示询问的人中有 i 个存活的概率.因为每个人加入 g[ ] 的顺序无关,所以可以每次 O(n) 地从g[ ] 里剔除第 i 个人的贡献. 令第 i 个人不存活的概率是 u ,存活…
CTSC2018&APIO2018游记 Day 0 傍晚出发,从长沙通往帝都的软卧哟. 然而长沙某中学坐高铁比我们晚出发还早到 Day 1 为了正经地写游记我决定忍住不在博客里吐槽酒店. 午饭在八十中.学校很nice,机房也不错(主要是机子配置好). 居然有个Day 0?打开一看,看见了什么眼熟的东西. 九省联考Day 1.话说那道coat我到现在都还没写. 愉快地敲着FFT和NTT,其他的题目也不想写.就这么一直混到了晚饭. 晚上看了看去年CTSC的题.感觉不太妙啊. 不管了明天加油吧. Da…
CTSC2018 & APIO2018 颓废 + 打铁记 CTSC 5 月 6 日 完美错过报道,到酒店领了房卡放完行李后直接奔向八十中拿胸牌.饭票和资料.试机时是九省联考的题,从来没做过,我也不打算做了,随便试了下键盘.打了个 \(A + B\) problem 就离开了机房:找到了学弟学妹带他们回酒店颓-- 晚上定外卖,领队将密码条送来,一日无事. 5 月 7 日 上午 8:30 开始的考试推到了 9:06,好像不同考场开始时间还不一样?! 上来先看了看每道题,时限分别是 \(6\textt…
此题,回想Sunshinezff学长给我们出的模拟题,原题啊有木有!!此处吐槽Sunshinezff爷出题不人道!! 不过也感谢Sunshinezff学长的帮助,我才能做出来.. 1064: [Noi2008]假面舞会 Time Limit: 10 Sec Memory Limit: 162 MB Submit: 1262 Solved: 624 [Submit][Status][Discuss] Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会.今年的面具都…
BZOJ 1064: [Noi2008]假面舞会 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 1655  Solved: 798[Submit][Status][Discuss] Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会.今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具.每个面具都有一个编号,主办方会把此编号告诉拿该面具的人.为了使舞会更有神秘感,主办方把面具分为…
[BZOJ1064][Noi2008]假面舞会 试题描述 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会.今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具.每个面具都有一个编号,主办方会把此编号告诉拿该面具的人.为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的技术将每个面具的编号标在了面具上,只有戴第i 类面具的人才能看到戴第i+1 类面具的人的编号,戴第k 类面具的人能看到戴第1 类面具的人的编号. 参加舞会的人并不知道有…
Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会.今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具.每个面具都有一个编号,主办方会把此编号告诉拿该面具的人.为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的技术将每个面具的编号标在了面具上,只有戴第i 类面具的人才能看到戴第i+1 类面具的人的编号,戴第k 类面具的人能看到戴第1 类面具的人的编号. 参加舞会的人并不知道有多少类面具,但是栋栋对此却特别好奇…
1064: [Noi2008]假面舞会 Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 883  Solved: 462[Submit][Status] Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会.今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具.每个面具都有一个编号,主办方会把此编号告诉拿该面具的人.为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的…
1800 假面舞会 2008年NOI全国竞赛 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 大师 Master 题目描述 Description 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会. 今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择 一个自己喜欢的面具.每个面具都有一个编号,主办方会把此编号告诉拿该面具 的人. 为了使舞会更有神秘感,主办方把面具分为 k (k≥3)类,并使用特殊的技术将 每个面具的编号标在了面具上,只有戴第 i 类…
[NOI 2008]假面舞会 题目 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会.今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择一个自己喜欢的面具. 每个面具都有一个编号,主办方会把此编号告诉拿该面具的人.为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的技术将每个面具的编号标在了面具上,只有戴第i 类面具的人才能看到戴第i+1 类面具的人的编号,戴第k 类面具的人能看到戴第1 类面具的人的编号. 参加舞会的人并不知道有多少类面具,但是栋栋对…
题目描述 一年一度的假面舞会又开始了,栋栋也兴致勃勃的参加了今年的舞会.今年的面具都是主办方特别定制的.每个参加舞会的人都可以在入场时选择一 个自己喜欢的面具.每个面具都有一个编号,主办方会把此编号告诉拿该面具的人.为了使舞会更有神秘感,主办方把面具分为k (k≥3)类,并使用特殊的技术将每个面具的编号标在了面具上,只有戴第i 类面具的人才能看到戴第i+1 类面具的人的编号,戴第k 类面具的人能看到戴第1 类面具的人的编号. 参加舞会的人并不知道有多少类面具,但是栋栋对此却特别好奇,他想自己算出…