火山喷发 火山喷发对所有附近的生物具有毁灭性的影响.在本题中,我们希望用数值来模拟这一过程. 在环境里有 n 个生物分别具有 A​1​​,A​2​​,⋯,A​n​​点生命值,一次火山喷发总计 MM 轮,每轮造成 11 点伤害,等概率地分给所有存活的生物,即如果目前有 K 个活着的生物,每个生物受到这点伤害的概率是 1/K​​.如果一个生物的生命值减为 0,它会立即死去,此后都不会再占用受到伤害的概率.如果没有生物存活,那么将没有生物会受到伤害. 现在你的任务是,给定 n,M 和全部生物的生命值,…
T1:小X的质数 小 X 是一位热爱数学的男孩子,在茫茫的数字中,他对质数更有一种独特的情感.小 X 认为,质数是一切自然数起源的地方. 在小 X 的认知里,质数是除了本身和 1 以外,没有其他因数的数字. 但由于小 X 对质数的热爱超乎寻常,所以小 X 同样喜欢那些虽然不是质数,但却是由两个质数相乘得来的数. 于是,我们定义,一个数是小 X 喜欢的数,当且仅当其是一个质数,或是两个质数的乘积. 而现在,小 X 想要知道,在 L 到 R 之间,有多少数是他喜欢的数呢? 输入格式 第一行输入一个正…
传送门 发现这题选或不选对状态的优劣程度不会产生影响,如果已经确定了两个数a和b,那么最优的首项和公比也都是唯一确定的, 与对于后面的数x,加进去也好不加进去也好,首项和公比依旧是原来的 于是我们用尺取算法,用两个指针来扫一遍, 如果只有一个数且下一个数能被整除,就加进去,然后确定首项和公比 如果只有一个数且下一个数不能整除,两个指针直接指向下一个数 如果有多个数且下一个数满足公式,就加进来 如果有多个数且下一个数不满足公式,两个指针直接指向下一个数 这样对于最优解,一定是可以找到的 顺便说下最…
传送门 很水的题目啦QAQ #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<cmath> #include<map> #include<set> #include<queue> #include<vector> #define INF 0x7f7f7f7f #define pii pa…
传送门 这题可以用线段树来维护 #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<cmath> #include<map> #include<set> #include<queue> #include<vector> #define INF 0x7f7f7f7f #define pii…
传送门 用hash,因为map的复杂度可能在这题中因为多一个log卡掉,但是hash不会 可能因为这个生成的随机数有循环的情况,不是完全均匀的 而且这题hash表的长度也可以开的很大 #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<cmath> #include<map> #include<set> #inc…
传送门 这题有点坑啊 设A为两边颜色不同的角,B为两边颜色相同的角 那么考虑三种三角形:异色,同色,其他 对于任何一个异色三角形,一定会有三个颜色不同的角, 对于任何一个同色三角形,一定会有零个颜色不同的角, 对于任何一个其他三角形,一个会有两个颜色不同的角, 那么A一定等于异色三角形数目*3+其他三角形数目*2 对于任何一个异色三角形,一定会有零个颜色相同的角, 对于任何一个同色三角形,一定会有三个颜色相同的角, 对于任何一个其他三角形,一个会有一个颜色相同的角, 那么B一定等于同色三角形数目…
传送门 简单几何+逆序对 发现当两条直线甲乙与平板的交点在上面甲在较左的位置,那么下面甲在较右的位置就可以相交 然后把上面的位置排下序,下面离散化+树状数组即可 #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<cmath> #include<map> #include<set> #include<que…
传送门 dp,注意边界 #include<cstdio> #include<cstdlib> #include<algorithm> #include<cstring> #include<cmath> #include<map> #include<set> #include<queue> #include<vector> #define INF 0x7f7f7f7f #define pii pair…
计蒜客 NOIP 提高组模拟竞赛第一试 补记 A. 广场车神 题目大意: 一个\(n\times m(n,m\le2000)\)的网格,初始时位于左下角的\((1,1)\)处,终点在右上角的\((n,m)\).每次移动可以选择移动到自己右上方的某一方格,且横坐标和纵坐标的变化都不能超过\(k(k\le2000)\).求一共有多少种移动方案? 思路: \(f[i][j]\)表示走到\((i,j)\)的方案数,一边DP一边维护二维前缀和即可. 时间复杂度\(\mathcal O(nm)\). 源代码…
NOIP2017提高组 模拟赛15(总结) 第一题 讨厌整除的小明 [题目描述] 小明作为一个数学迷,总会出于数字的一些性质喜欢上某个数字,然而当他喜欢数字k的时候,却十分讨厌那些能够整除k而比k小的数,认为那些数会分解数字k从而破坏掉k的美感-- 有一天,他想:如果所有人都和自己一样,那么是不是喜欢两个含有倍数关系的不同数字的人就不能做朋友了?于是他想,至少用多少个集合,才能包括1到n的所有n个整数,使得所有存在倍数关系的两个不同数字在不同的集合里面? 小明脑子不好使,于是把问题交给了你. […
NOIP2017提高组 模拟赛13(总结) 第一题 函数 [题目描述] [输入格式] 三个整数. 1≤t<10^9+7,2≤l≤r≤5*10^6 [输出格式] 一个整数. [输出样例] 2 2 4 [输出样例] 19 [解题思路] 证明:对于n个人,分解成质因数,按质数个人分为一组(从小到大). 例如:30可以分成2 * 3 * 5,那么一开始2人为一组,共有15组.再分成3人为一组,然后有5组.再分成5人一组,有1组. 为什么这是最优的? a,b是n的质因数 设\(\frac{n}{ab}=x…
NOIP2017提高组模拟赛 10 (总结) 第一题 机密信息 FJ有个很奇怪的习惯,他把他所有的机密信息都存放在一个叫机密盘的磁盘分区里,然而这个机密盘中却没有一个文件,那他是怎么存放信息呢?聪明的你一定想到了,FJ的信息都是以文件夹名称的形式保存的.FJ给机密盘中的每一个文件夹都编了号,而FJ的机密信息是由S文件夹转到T文件夹的过程中必须经过的文件夹名称组合而成的,由于FJ的磁盘很慢,打开每个文件夹所耗费的时间等于该文件夹内下一级文件夹的数量.这次的任务是,给出每个文件夹的编号.名称以及它的…
NOIP2017提高组模拟赛 8(总结) 第一题 路径 在二维坐标平面里有N个整数点,Bessie要访问这N个点.刚开始Bessie在点(0,0)处. 每一步,Bessie可以走到上.下.左.右四个点.即假设Bessie当前所在点的坐标是(x,y),那么它下一步可以移动到(x,y+1), (x,y-1), (x+1,y), (x-1,y)之一. Bessie目标是找到一个移动序列,满足下面的条件: 1.从点(0,0)出发. 2.对于给定的那N个点,每个点至少被访问一次. 3.可以选择那N个给定点…
NOIP2017提高组模拟赛 9 (总结) 第一题 星星 天空中有N(1≤N≤400)颗星,每颗星有一个唯一的坐标(x,y),(1≤x,y ≤N).请计算可以覆盖至少K(1≤K≤N)颗星的矩形的最小面积.矩形的边必须平行于X轴或Y轴,长度必须为正整数.星如果在矩形的边上,也认为它是属于矩形内的. 思路:枚举矩形左上角的x,以及在x轴上的长度(矩形的长),然后单调的往下扫. #include<cstdio> #include<algorithm> #include<cmath&…
NOIP2017提高组模拟赛 7(总结) 第一题 斯诺克 考虑这样一个斯诺克球台,它只有四个袋口,分别在四个角上(如下图所示).我们把所有桌子边界上的整数点作为击球点(除了4个袋口),在每个击球点我们可以以45度角击球. 每一个击球点你都可以向两个方向击球,例如像下图所示. 从S点击球有两种路线.提供桌子的尺寸,你的任务是计算出有多少种不同的击球方式使得球能入袋.球可视为质点,且无任何阻力,反弹时无能量损失. 一个简单的证明:当一个球的运动轨迹形成一个环时,那么它必定不会到达四个角.所以对于从一…
NOIP2017提高组模拟赛5 (总结) 第一题 最远 奶牛们想建立一个新的城市.它们想建立一条长度为N (1 <= N <= 1,000,000)的 主线大街,然后建立K条 (2 <= K <= 50,000)小街, 每条小街的尽头有一间房子(小街的其它位置没有房子).每条小街在主线大街的P_i 处分支,(0 <= P_i <= N) , 小街的长度是 L_i (1 <= L_i <= 1,000,000).FJ想知道最远的两个房子之间的距离是多少. 其实…
NOIP2017提高组模拟赛4 (总结) 第一题 约数 设K是一个正整数,设X是K的约数,且X不等于1也不等于K. 加了X后,K的值就变大了,你可以重复上面的步骤.例如K= 4,我们可以用上面的规则产生所有的非素数. 可以通过5次变化得到. 24: 4->6->8->12->18->24. 现在给你两个整数N 和 M, 求最少需要多少次变化才能到从 N 变到 M. 如果没法从N变到M,输出-1. 这道题就是很简单的bfs,可以观察到n变化到m是近似成倍增长的.其实从最小到最大…
计蒜客\(2019CSP\)比赛第二场 巧妙爆零这场比赛(我连背包都不会了\(QWQ\) \(T1\) \(Too\) \(Young\) 大学选课真的是一件很苦恼的事呢! \(Marco\):"我要两年毕业!我要选尽量多的学分!这些课统统选上!" 长者:"你啊,\(Too Young\)!你看看作业量,你做的完吗?" \(Marco\)(笑容逐渐消失\(.gif\)):"那可咋整啊?" 长者:"还能咋整?退课呗!" 已知 \…
T1 中位数(二分) 这个题是一个二分(听说是上周atcoder beginner contest的D题???) 我们可以开一个数组b存a,sort然后二分b进行check(从后往前直接遍历check时间复杂度不太对),check的时候把大于等于当前值的设为1,小于当前值的设为-1,然后题目就变成了查询是否有区间的值大于零(因为和它相同的我们也设为了1). 查询的时候维护一个前缀最小值. #include <iostream> #include <cstdio> #include…
T1 动态点分治 就是模拟..... 但是没有过!! 看了题解之后发现.... 坑点:有可能 \(x<=r\),但是…
就是DP. 我们可以很简单的想到要枚举中间点,进行边数的转移. 但是因为边长数据范围很大,所以我们考虑log的倍增. 状态设计为\(dp[i][j][k]\),为从节点\(i\)走\(2^k\)步能否走到节点\(j\).但是我们发现这样不好转移状态(其实是我不太会啊) 正解是状态压缩,但是因为\(n\)有点大,所以这里介绍一个黑科技:\(bitset\) bitset只能存储0或1,但是较bool来说空间更优,一个元素只占一个bit,而且其中的每个元素都可以被单独访问或者修改--比如说访问s的第…
其实看懂题就很水啦qwq,就是求\(1-N\)的约数啦. 暴力求的话时间复杂度是\(O(NlogN)\)的,其实正解是枚举每个数的倍数......这样的时间复杂度是\(\frac{N}{1}+\frac{N}{2}+...+\frac{N}{N}\)的,由于调和级数可以看做\(O(log)\),所以总复杂度为\(O(NlogN)\). 但是比赛的时候我写的是那个复杂度很劣的做法,所以....代码就先放这个了..(注意%运算是真的慢....) #include<iostream> #includ…
区间不好做,但是我们可以转化成前缀来做.转化为前缀之后之后就是二维前缀和. 但是我还是不怎么会做.所以只能去看吉老师的题解 (确定写的那么简单真的是题解???). 我们要求模一个数余0,就等于找它的倍数.找它的倍数自然只要知道区间就可以了. 题解上面说:如果\(r1=2^n\),\(r2=2^m\),不妨设 \(n<=m\),那么结果一定在区间 \([0,2^n)\)中,而 且每一个值出现了 \(2^m\) 次 这是很显然的,因为按照异或的运算法则来讲,不可能会有比r1最高位1还高的位出现.而且…
题目链接:https://nanti.jisuanke.com/t/31436 作为一名车手,为了提高自身的姿势水平,平时的练习是必不可少的.小 J 每天的训练包含 $N$ 个训练项目,他会按照某个顺序依次练习这些项目.出于一些玄妙的原因,训练的效果跟项目的顺序有着很大关系.当项目 $i$ 被安排在项目 $j$ 之前进行训练,小 J 会获得 $a_{i,j}$ 的熟练度,否则他会获得 $a_{j,i}$ 的熟练度.为了使训练效果尽可能好,小 J 希望这 $\frac{N(N-1)}2$ 对项目的…
5196. [NOIP2017提高组模拟7.3]B Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits   Goto ProblemSet Description…
5197. [NOIP2017提高组模拟7.3]C Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits   Goto ProblemSet Description…
5195. [NOIP2017提高组模拟7.3]A Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits   Goto ProblemSet Description…
5184. [NOIP2017提高组模拟6.29]Gift (Standard IO) Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits   Goto ProblemSet Description…
5185. [NOIP2017提高组模拟6.30]tty's sequence (Standard IO) Time Limits: 1000 ms  Memory Limits: 262144 KB  Detailed Limits   Goto ProblemSet Description…