题目传送门 题意: 有 \(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…
题目链接 LOJ 2552 Luogu P4564 考场上这道题我先是写了个70分暴力,然后发现似乎可以NTT,然鹅问题是--我没学过NTT,遂脑补之,脑补出来了,下午出成绩一看,卡成暴力分(70)--同是\(O(Qk^2\log k)\),学姐的拉格朗日什么玩意就能过TAT--学姐太强了-- 遂不忿,今天上午重写NTT,努力卡常,卡不进去-- 那还是写正解吧. 首先,发现血量上限很少,0操作时,暴力维护每一时刻每个人是每种血量大小的概率即可. 1操作怎么办呢?设\(alive_i\)是\(i\…
题意 题目链接 Sol 一条重要的性质:如果某个区间覆盖了另一个区间,那么该区间是没有用的(不会对最大值做出贡献) 首先不难想到枚举最终的答案\(x\).这时我们需要计算的是最大值恰好为\(x\)的概率. 发现不是很好搞,我们记\(P(x)\)表示最大值\(\leqslant x\)的概率,那么恰好为\(x\)的概率为\(P(x) - P(x - 1)\) 计算概率可以直接用定义:合法的方案/总方案(\(x^n\)) 考虑如何计算合法方案:我们直接去枚举在询问区间中有多少个点\(\leqslan…
原题链接 写到一半发现写不下去了... 所以orz xyz32768,您去看这篇题解吧,思路很清晰,我之前写的胡言乱语与之差距不啻天渊 #include <algorithm> #include <iostream> #include <cstdlib> #include <cstring> #include <cstdio> #include <random> #include <string> #include <…
洛谷题面传送门 一道 dp 套 dp 的 immortal tea 首先考虑如何判断一套牌是否已经胡牌了,考虑 \(dp\)​​​​​.我们考虑将所有牌按权值大小从大到小排成一列,那我们设 \(dp_{i,j,k,0/1}\)​​​​ 表示目前考虑了权值 \(\le i\)​​​​ 的牌,我们之前预留了 \(j\)​​​ 张形如 \((i-1,i)\)​​​ 的牌与 \(i+1\)​​​ 形成刻子,又留了 \(k\)​​​ 张 \(i\)​​​ 与 \(i+1,i+2\)​​​ 形成刻子,\(0…
洛谷2344 奶牛抗议 本题地址:http://www.luogu.org/problem/show?pid=2344 题目背景 Generic Cow Protests, 2011 Feb 题目描述 约翰家的N 头奶牛正在排队游行抗议.一些奶牛情绪激动,约翰测算下来,排在第i 位的奶牛的理智度为Ai,数字可正可负. 约翰希望奶牛在抗议时保持理性,为此,他打算将这条队伍分割成几个小组,每个抗议小组的理智度之和必须大于或等于零.奶牛的队伍已经固定了前后顺序,所以不能交换它们的位置,所以分在一个小组…
遇见的第一道决策单调性优化DP,虽然看了题解,但是新技能√,很开森. 先%FlashHu大佬,反正我是看了他的题解和精美的配图才明白的,%%%巨佬. 废话不多说,看题: 题目大意 已知一个长度为n的序列a1,a2,...,an. 对于每个1<=i<=n,找到最小的非负整数p满足 对于任意的j, aj < = ai + p - sqrt(abs(i-j)) 数据范围 洛咕上也没给,我能怎么办啊 非正解做法一:暴力 应该都会吧,\(O(n^2)\)枚举.洛谷上貌似40pts. 非正解做法二:…
To 洛谷.1541 乌龟棋 题目背景 小明过生日的时候,爸爸送给他一副乌龟棋当作礼物. 题目描述 乌龟棋的棋盘是一行N个格子,每个格子上一个分数(非负整数).棋盘第1格是唯一的起点,第N格是终点,游戏要求玩家控制一个乌龟棋子从起点出发走到终点. 乌龟棋中M张爬行卡片,分成4种不同的类型(M张卡片中不一定包含所有4种类型的卡片,见样例),每种类型的卡片上分别标有1.2.3.4四个数字之一,表示使用这种卡片后,乌龟棋子将向前爬行相应的格子数.游戏中,玩家每次需要从所有的爬行卡片中选择一张之前没有使…
P1052 过河 题目描述 在河上有一座独木桥,一只青蛙想沿着独木桥从河的一侧跳到另一侧.在桥上有一些石子,青蛙很讨厌踩在这些石子上.由于桥的长度和青蛙一次跳过的距离都是正整数,我们可以把独木桥上青蛙可能到达的点看成数轴上的一串整点:0,1,…,L(其中L是桥的长度).坐标为0的点表示桥的起点,坐标为L的点表示桥的终点.青蛙从桥的起点开始,不停的向终点方向跳跃.一次跳跃的距离是S到T之间的任意正整数(包括S,T).当青蛙跳到或跳过坐标为L的点时,就算青蛙已经跳出了独木桥. 题目给出独木桥的长度L…
题目来源:洛谷P1052 思路 一开始觉得是贪心 但是仔细一想不对 是DP 再仔细一看数据不对 有点大 如果直接存下的话 显然会炸 那么就需要考虑离散化 因为一步最大跳10格 那么我们考虑从1到10都跳一遍 所以最大公倍数为2520 那么我们就可以枚举两个石头中间的长度mod 2520 即可缩短总长度 详细见代码 代码 #include<iostream> #include<algorithm> using namespace std; #define maxn 350000 #d…