
Math
文章平均质量分 79
wyfcyx_forever
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #266 (Div. 2) Problem D Solution
本沙茶的第一篇blog.原创 2014-09-16 10:28:59 · 851 阅读 · 1 评论 -
POJ2417 Baby-Step-Gaint-Step 算法
考虑一个问题:A^x%p=B,给定A,B,p,求x的最小非负整数解。在p是质数的情况下,这个问题比较简单。A^x=B(mod P) (P is a Prime, A,BLet m = floor(sqrt(P))Put A^0,A^1,...A^(m-1) into HashSet(You Can Also Use Map in STL),for Example M[A^i]=i.原创 2014-10-28 12:27:20 · 1609 阅读 · 0 评论 -
BZOJ2460 [BeiJing2011]元素 Solution
简单留一下纪念:同BZOJ3105.Code:#include #include #include #include using namespace std; #define N 1010int n;long long a[N];int w[N], ins[64], sav[N], top; int main() { scanf("%d", &n);原创 2014-10-02 19:21:40 · 862 阅读 · 0 评论 -
BZOJ1041 圆上的整点 Solution
题意:给定r,求x^2+y^2=r^2的图象上存在多少个整点。Sol:问题显然可以转化为x^2+y^2=r^2有多少个正整数解。我们考虑如何快速的解出这个方程。引入本源勾股数组(x,y,z)(x,y,z为正整数),满足x^2+y^2=z^2且gcd(x,y,z)=1.我们能够证明一些性质,z为奇数,x,y一奇一偶,不妨设x为奇数,y为偶数,则有z-x为完全平方数的二倍,z-y为原创 2014-10-02 18:52:54 · 884 阅读 · 0 评论 -
BZOJ3105 [CQOI2013]新Nim游戏 Solution
题目大意:传统的Nim游戏是这样的:有一些火柴堆,每堆都有若干根火柴(不同堆的火柴数量可以不同)。两个游戏者轮流操作,每次可以选一个火柴堆拿走若干根火柴。可以只拿一根,也可以拿走整堆火柴,但不能同时从超过一堆火柴中拿。拿走最后一根火柴的游戏者胜利。本题的游戏稍微有些不同:在第一个回合中,第一个游戏者可以直接拿走若干个整堆的火柴。可以一堆都不拿,但不可以全部拿走。第二回合也一样,第二个游戏者原创 2014-09-22 15:59:58 · 3316 阅读 · 0 评论 -
POJ3243 EXT-BSGS算法
做这道题之前需要先做一下POJ2417,我的题解:http://blog.youkuaiyun.com/wyfcyx_forever/article/details/40538515现在来看这个问题:Ax≡B(mod C)已知A,B,C注意这里的A,B,C没有任何限制!那么考虑我们的传统的GSBS算法为何不能解决这个问题:假设枚举的某个i,我们要利用拓展欧几里得求出存不存在某个A^j(0那原创 2014-10-28 13:51:58 · 1606 阅读 · 0 评论 -
BZOJ2337 [HNOI2011]XOR和路径
题意:有一个无向图,边带权,从点1开始,每次随机选择与这个点相邻的一条边走到另一个点,直到走到点n.权值为所有走过的边的异或和(若一条边经过多次则被异或多次),求权值的期望值。思路:将每一位拆开。那么相当于边上的权值只有0,1.由于到达n就立即停止,我们定义f[i]表示从i到达n的期望值。那么显然f[n]=0,对于i!=n,我们列出其转移方程:for all x near原创 2014-10-17 10:00:09 · 1400 阅读 · 0 评论 -
BZOJ3627 [JLOI2014]路径规划
题意:求期望红绿灯时间下,途径若干加油站,经过最多若干个红绿灯,起点与终点的最短路。思路:每个有红绿灯的节点通过时间怎么算呢?事实上t=red*red/2/(red+green),然后把这个时间附加到节点的出边上。随后我们建立分层图,第i层表示经过了i个红绿灯时,从源点到该点的最短路径长度。如果没有油量限制,那么我们直接跑最短路就行了。注意到加油站很少,于是我们枚举以每个加原创 2014-10-17 09:48:03 · 1637 阅读 · 0 评论 -
BZOJ1025 [SCOI2009]游戏
题意:对于一些长度为n的排列,将其作为一个置换,那么可能有一个自置换的次数使其回到1,2,3,...,n的情况。求对于所有能够回到1,2,3..,n的排列,不同的次数共有多少种。思路:我们将置换划分成循环节的形式,那么我们发现最终可能的置换一定是这种形式:(2,1)(3)(5,6,4)(7)1,2->2,13->34,5,6->5,6,47->7并且,若一段的长原创 2014-10-18 15:24:15 · 2179 阅读 · 0 评论