自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 [51nod1169] 石子游戏

题目大意给定n堆石子的个数。两人轮流操作,每个人每次操作可以从一堆里取出至少一个石子。不能拿的人输。 现在可以在游戏开始前,选择任意堆石子(不能全选),并从中分别取出任意颗石子。求有多少种取法使先手必败。n≤100 每堆石子个数不超过10910^9,答案对109+710^9+7取模分析首先一堆石子的sg值为石子个数,然后选手必败需要满足所有sg值异或和为0。 然后考虑到不能全选这一条件,可以

2016-12-22 12:24:09 687

原创 [bzoj4237]稻草人

题目大意给定n个点(横纵坐标是不大于10910^9的非负整数且两两x,y都不相同) 求有多少个矩形满足: 1. 边平行于横、纵轴 2. 左下角、右上角都是给定的点 3. 内部不包含其它点n≤200000分析如果枚举一个点作为右上角,那么枚举在它左下角的点,求多少个点可以满足条件。显然满足这些条件的点按横坐标排序后,纵坐标是严格下降的。直接维护这个单调队列显然不好做,可以考虑分治: 首先对所

2016-12-19 21:33:43 550

原创 [51nod1150] Logarithm

题目大意给定一个n个正整数的数组A[],求∑i≠jlg(A[i]xorA[j])\sum_{i≠j} lg(A[i]xorA[j])n≤50000 1≤A[i]≤101810^18分析首先每个数不会很大,那么任意一个异或起来的数的lg值不会超过18 然后可以考虑lg的值,假设是x,然后可以确定一个区间[10x,10x+1)[10^x,10^{x+1}),如果异或值在这个区间内,它对答案的贡献就是

2016-12-16 22:21:18 428

原创 [51nod1325]两棵树的问题

题目大意给定两个n个节点的无根树,以及一个数组val[]。求一个点集,要求满足:这个点集在两棵树上都是联通块。求所有可能的点集中∑val[i]\sum val[i]的最大值。n≤50 -1000≤val[i]≤1000分析很好的一道题。考虑枚举一个点,并保证它在点集中。 然后为了保证它在点集中,需要转化一下问题:以枚举到的点r作为两棵树的根,然后问题变成了,该点集是两棵树中包含根的联通块。

2016-12-15 12:23:06 471

原创 [codeforces585F/51nod1587]Digits of Number Pi

题目大意有一个字符串S。给定两个数x,y保证x,y都是d位数且没有前导0,求[x,y]中有多少个数满足:S中存在一个长度为⌊d2⌋\lfloor \frac{d}{2} \rfloor的子串,它也存在于这个数中。|S|≤1000 d≤50 答案对109+710^9+7取模。分析首先答案可以等于[1,x-1]的答案减[1,y]的答案。 观察数据范围,|S|≤1000,d≤50,那么S所有长

2016-12-12 20:59:54 511

原创 【GDOI2017模拟12.9】最近公共祖先

题目大意给定一个n个节点的有根树,每个节点有一个权值s[i],且有颜色(最初全是白色)。有m次操作,分两种: 1. 把一个节点染黑。 2. 询问一个节点x,枚举每个黑色节点y,得到lca(x,y)=z,求所有可能的z中最大的权值n≤100000 m≤200000分析一个思路: 维护f[i]表示以i节点为根的子树中有多少个节点,当询问节点x的时候,暴力枚举它和它的所有祖先,如果枚举到一个i

2016-12-10 16:22:30 520

原创 [hackerrank Random]

题目大意给你一个n个整数的数组d,有两种操作: 1. 随机一个二元组(l,r)[l<<r],然后把d[l]和d[r]交换 2. 随机一个二元组(l,r)[l<<r],然后把区间[l,r]翻转你要先给d进行a次操作1,再进行b次操作2,然后随机一个二元组(l,r)[l<<r],得到区间[l,r]元素的和。 给定n,a,b和d[],求最终得到数字的期望。 2≤n≤1000 a≤10910^

2016-12-09 21:26:26 476

原创 [51nod1370] 排列与操作

题目大意给你一个n的排列,你可以进行至多k次操作,每次选择一个区间,把区间内所有数赋值为区间的最大值。问最后可以得到多少个不同的序列。答案对109+710^9+7取模。n,k≤200 数据组数不超过3挖掘性质这道题最终得到的序列的一些性质,可以帮助解这道题。 首先,最终序列一定是若干个由相同的数形成的块连在一起,形成很多部分。而且相同的值都是在一个块里面。例如:55668877 是合法的,56

2016-12-08 22:18:59 508

原创 [bzoj3679]数字之积

题目大意一个数x各个数位上的数之积记为f(x) <不含前导零> 求[L,R)中满足0 < f(x)<=n的数的个数100% 0 < L < R < 10^18 , n<=10^9分析首先很容易想到数位DP 设f[i][j]表示各位乘积为j的i位数有多少个,转移时枚举下一位的数即可。 然后求答案就相当于ans([1,R))-ans([1,L))。但是n太大了,不过经过暴力计算,n等于10

2016-12-08 15:41:01 1536

原创 [51nod1326]遥远的旅途

题目大意给你一个n个点m条边的无向图,每条边有正整数的边权,问是否存在一条0到n-1的长度为T的路径(点和边可以重复)。n,m≤50 边权不超过10000 T≤101810^{18} 数据组数不超过3分析这道题有点考思维啊! 考虑这样的一条路径。如果不是简单路径,它可能会包括若干个环。 如果我确定了一个必须走的环,假设它的长度为len,那么可以这样设状态: f[i][j][0/1]表示

2016-12-07 20:59:52 562

原创 [51nod1375]再选数

题目大意有n个正整数,你可以从中选出k个数(k是给定的,如果k=-1则要选择至少一个),使它们的gcd=1。求方案数模998244353的值。n≤100000 每个数≤1000000分析数的范围不是很大,可以考虑从中入手。 设f(d)为选择的数gcd为d的答案,g(d)表示gcd是d的倍数的答案。显然有g(d)=∑f(kd)\sum f(kd) 看到这里想到了什么?!f(d)=∑i=1106

2016-12-06 22:27:58 600

原创 [hackerrank Value of all Permutations]

题目大意给定一个N个元素的序列A,有Q次询问,每次给出一个M,求对于A的所有排列跑下面的函数,返回值的和模P的答案find(int permutation_A[], int M){ x = Length(permutation_A) sum = 0 for(i = 0; i < x; i++) { if (permutation_A[i] <= M)

2016-12-06 16:47:43 348

原创 【GDOI2017模拟12.3】告别

题目大意给你两个n的排列A,B(A与B不完全相同),你可以进行最多m次操作,每次对于当前的A,你等概率地在1到n选择3个不同的数按顺序排成一个三元组(i,j,k),然后A[i]—>A[j],A[j]—>A[k],A[k]—>A[i]地交换。求m次操作内把A变成B的概率对998244353取模。n≤14 m≤10810^8优化状态如果n的阶乘表示状态明显会很大。 考虑到操作是交换,那么可以对应地

2016-12-03 16:21:30 403

原创 [51nod1301]集合异或和

题目大意已知两个整数N与M,你需要构造两个整数集合X与Y,且需要满足以下要求: (1)对所有的xi∈X,满足1<=xi<=N;对所有的yj∈Y,满足1<=yj<=M; (X与Y可以为空集) (2)X∩Y=Φ;(但不要求集合X与Y的元素个数,只要两者没有交集即可) 不妨设构造后的集合X含有n个元素,而集合Y有m个元素,令 A=x1 xor x2 xor x3 xor … xor xn, B=y

2016-12-02 20:03:44 1411 1

原创 [51nod1594]Gcd and Phi

题目大意给定一个数n,求∑ni=1∑nj=1ϕ(ϕi,ϕj)\sum_{i=1}^n \sum_{j=1}^n \phi(\phi i,\phi j)n≤2∗1062*10^6 数据组数不超过5分析//这是我复习莫比乌斯反演的一道练习。。首先可以考虑枚举gcd的值。首先预处理一个数组s[],s[i]表示n以内正整数中,欧拉函数等于i的有多少个。那么答案变成: ans=∑d=1n∑i=1⌊nd⌋∑

2016-12-01 22:17:56 1371 1

空空如也

空空如也

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

TA关注的人

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