1 void gcd(LL a,LL b,LL &d,LL &x,LL &y) 2 { 3 if (!b) 4 { 5 x=1; 6 y=0; 7 d=a; 8 } 9 else10 {11 g...
分类:
其他好文 时间:
2014-10-07 14:53:03
阅读次数:
149
UVA 11774 - Doom's Day题目链接题意:给定一个3^n*3^m的矩阵,要求每次按行优先取出,按列优先放回,问几次能回复原状思路:没想到怎么推理,找规律答案是(n + m) / gcd(n, m),在topcoder上看到一个证明,例如以下:We can associate at e...
分类:
其他好文 时间:
2014-10-07 14:51:53
阅读次数:
134
Grand Central Dispatch (GCD)是异步执行任务的技术之一。一般将应用程序中记述的线程管理用的代码在系统级中实现。由于线程管理是作为系统的一部分来实现的,因此可统一管理,也可执行任务,这样就比以前的线程更有效率。
也就是说,GCD用我们难以置信的非常简洁的记述方法,实现了极为复杂的多线程编程。...
分类:
其他好文 时间:
2014-10-07 13:03:53
阅读次数:
198
题意:给你一个序列a[i],对于每个询问xi,求出有多少个(l,r)对使得gcd(al,al+1...ar)=xi.表面上是询问,其实只要处理出每个可能的gcd有多少个就好了,当左端点固定的时候,随着右端点的移动,gcd必然是单调非增的,而且个数不会超过log(a[i])个,所以总的不同的个数的上界...
分类:
其他好文 时间:
2014-10-06 23:55:32
阅读次数:
309
在网上看到了这个函数int gcd(int a,int b){if(a==0) return b; if(b==0) return a; return gcd(b,a%b);}是求最大公约数的 有了这个函数之后,求最大公约数就好很多了不过可以这样写int gcd(int a,int ...
分类:
其他好文 时间:
2014-10-06 23:21:00
阅读次数:
621
题目大意:给定一个n个数的集合S和一个数x,求x在S的2^n个子集从大到小的异或和序列中最早出现的位置
有学长真好不用自己打题目大意了233
首先我们求出线性基 我们会得到一些从大到小排列的数和一堆0 记录0的个数
不考虑0,看前面的数,由于线性基的性质,我们直接贪心从大到小枚举 若当前异或和异或这个值小于Q则取这个数 (注意^不要写成+或者| 本蒟蒻已经因为这个WA了两道题了
然后我们通...
分类:
其他好文 时间:
2014-10-06 19:14:50
阅读次数:
174
点击打开链接
#include
#include
#include
#include
#include
#include
using namespace std;
typedef long long ll;
ll gcd(ll x, ll y){
if(x>y)swap(x,y);
while(x){
y%=x;
swap(...
分类:
其他好文 时间:
2014-10-06 17:49:40
阅读次数:
240
使用扩展的欧几里得算法。对于初始的两个整数$x_1,y_1$,我们一定可以计算出$ax_1+by_1 = gcd(a,b)$,递推下一步,我们可以得到公式:\begin{equation} ax_1+by_1 = gcd(a,b) = gcd(b,a\%b) = bx_2 + (a\%b)y_2 \...
分类:
其他好文 时间:
2014-10-06 13:36:00
阅读次数:
200
题目链接:点击打开链接
#include
#include
#include
#include
#include
#include
using namespace std;
typedef long long ll;
template
inline bool rd(T &ret) {
char c; int sgn;
if(c=getchar(),c==EO...
分类:
其他好文 时间:
2014-10-06 13:01:34
阅读次数:
181
好久没写网络流了…… 一开始以为是DP,没想出来,看题解发现是网络流。 构图蛮有意思的。 把维修人员拆成n个点,每个分点都与那n个点连边,费用为 c[i][j] * (1..n) 这是表示修了这个车后以后的人会增加这么些费用。 上代码:#include #include #include...
分类:
其他好文 时间:
2014-10-06 02:32:39
阅读次数:
200