自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(11)
  • 收藏
  • 关注

原创 CF C. Monsters And Spells 思维

C. Monsters And Spells题意每次攻击可以是上一一时刻的攻击的伤害+1或者1(可以对着空气攻击),消耗的魔法等于每次攻击的伤害,n个怪物,每个怪物在ki时刻出现,血量为hi,在ki时刻打出的攻击必须不小于怪物的血量,问最少需要消耗多少魔法才可以杀死所有怪物?...

2022-07-24 21:38:36 186

原创 CF D. Soldier and Number Game 数学

CF D. Soldier and Number Game 数学

2022-07-21 22:18:40 128

原创 CF D. Make Them Equal 动态规划

题目:传送门题意:给一个初始全为1的a序列,有k次修改,每次选一个位置i和一个整数x,让aia_{i}ai​+aia_{i}ai​/x,当aia_{i}ai​=bib_{i}bi​,获得cic_{i}ci​,问最多修改k次,最多获得多少分?分析:除了k,其余数据也不是很大,可以先初始化一下1-1000以内的数的最少操作数。虽然k很大,但是其实对于一个数最多操作次数不超过12次,那么最多只需要操作12000次可以使所有对应位置相等。那么接下来动态规划一下就行了。状态转移方程: dp[j]=max(dp

2022-05-10 20:19:17 180

原创 洛谷数学题 GCD SUM(欧拉函数)

题目连接:GCD SUM分析:题目很简洁。求gcd的和。暴力是不可能过的。考虑所有gcd的值,对于gcd(x,y)=1,都有gcd(xk,yk)=k(xk<=n&&yk<=n),那么gcd(x’,y’)=k的个数就是2*∑i=1n/k\sum_{i=1}^{n/k}∑i=1n/k​f(i) -1 (f(i)为欧拉函数,(x,y)和(y,x)为两组,但是只有当x=y=1时是一组,所以要减一。)代码:#include<iostream>#define IOS i

2022-04-22 14:42:38 477

原创 牛客 华华给月月出题 数学+线性筛

题目链接:传送门题意:从1到n所有数的n次方的异或和。分析:题目很简单,范围也不大,看完题目第一想法就是暴力,能过80%数据。那么就得转变思路,首先数据范围只有2e7,那么只有线性做法咯。首先得知道任意一个数x可以分为有限个素数相乘得到。那么xn 就可以分为一些素数的n次方相乘。接下就是用线性筛跑一遍来计算出所有数的n次方。代码:#include<iostream>#define IOS ios::sync_with_stdio(false); #include<cstri

2022-04-12 21:45:10 156

原创 CF A. Orac and LCM(思维题)

题目链接:传送门题意:给n个数,求出两两个数的最小公倍数,然后在求出这些公倍数的最大公约数。分析:首先暴力解法肯定是过不去的。那么我们就得另辟蹊径。首先要知道一个数可以由分解成一些素数的幂次方相乘得到,即:a=x1k1x2k2……xnkn(x1,x2……xn为素数)。那么两个数的最小公倍数就是取两个的相同素数因子的最大幂次方(正整数的0次幂为1),举个例子:10, 24的最小公倍数为120, 10=2*5, 24=23 *3, 120=23 *3 *5,不难看出120分解过后就是10和24相同素数因

2022-04-08 16:26:06 202

原创 牛客 郊区春游 状压+最短路

题目链接:郊区春游思路:首先先用floyd求一下各个点之间的最短路,那么接下来就是找出一条最短路将R个点串起来。最简单的就是枚举每一种排列然后求最小值,那么时间复杂度就是15!,也就是1307674368000,这样肯定超时,那么我们就是用状压的方法来做,dp [i] [j]:表示以i为当前的路径状态,以j为终点的最小距离。(i在二进制表示下1表示该位置已经走过,0表示该位置未走过)通过枚举每一种状态(及从1到1<<r-1),然后找出当前走过的点,再去找出没有走过的点,更新一下就行了。状态

2022-04-03 16:07:37 238

原创 数论 牛客 CQOI2014]数三角形 组合数学+思维

题目连接:数三角形题目描述给定一个n x m的网格,请计算三点都在格点上的三角形共有多少个。下图为4x4的网格上的一个三角形。注意三角形的三点不能共线。输入:2 2输出:76分析:一个nm的网格中有(n+1)(m+1)个点,那么所有方案就是(3(n+1)∗(m+1))\binom{3}{(n+1)*(m+1)}((n+1)∗(m+1)3​)(包括不合法的方案)。接下来只需要减去不合法的方案数就行了。可以分情况讨论一下。1.三个点都在一条与横坐标平行的直线,那么方案数就是(3(n+

2022-03-18 18:20:19 293

原创 数论 牛客 [AHOI2005]SHUFFLE 洗牌 逆元

题目连接:洗牌题目描述为了表彰小联为Samuel星球的探险所做出的贡献,小联被邀请参加Samuel星球近距离载人探险活动。 由于Samuel星球相当遥远,科学家们要在飞船中度过相当长的一段时间,小联提议用扑克牌打发长途旅行中的无聊时间。玩了几局之后,大家觉得单纯玩扑克牌对于像他们这样的高智商人才来说太简单了。有人提出了扑克牌的一种新的玩法。 对于扑克牌的一次洗牌是这样定义的,将一叠N(N为偶数)张扑克牌平均分成上下两叠,取下面一叠的第一张作为新的一叠的第一张,然后取上面一叠的第一张作为新的一叠的第二张,

2022-03-18 16:49:45 198

原创 动态规划练习 牛客[HAOI2008]玩具取名

题目链接:玩具取名题意:有四个字母,每个字母可以扩充成两个字母,只选择其中一个字母进行扩充,给出最终结果以及每个字母可以扩充的两个字母,求最初的字母(输出所有情况,按WING顺序输出)分析:不难看出这道题是区间dp的题目,字符串中取两个端点l,r(l<r),在l和r之间找一个端点mid,区间l—mid之间合成的字母与(mid+1)—r之间合成的字母进行左右匹配,看是否可以组成一个字母。方法很容易但是会超时,不断优化也只能过掉80%的数据那我们可以逆向思维,组成的字母有很多,但是最多只有四种,我们

2022-03-17 22:38:24 221

原创 数论基础模板(部分)

线性筛int prim[N];int nu=0;bool st[N];void init(int n){ for(int i=2;i<=n;i++){ if(st[i]) prim[nu++]=i; for(int j=0;prim[j]*i<=n;j++){ st[prim[j]*i]=1; if(i%prim[j]==0) break; } }}欧拉函数(求逆元(在模数不为质数时用)求1-n内所有数的欧拉函数)int prim[N];int n

2022-03-15 21:50:08 383

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除