题目地址:http :// www . lydsy . com / JudgeOnline / problem . php ? id = 3531
题目大意:见原题。
算法讨论:树链剖分。对于每种宗教开一棵线段树即可。
Code:
#include 
#include 
#define N 3000000
#define M 30000000
#define oo 0x7f7f7f7f
...
                            
                            
                                分类:
其他好文   时间:
2014-05-14 20:17:47   
                                阅读次数:
393
                             
                         
                    
                        
                            
                            
                                /*
* hdu 最小公倍数
* date 2014/5/13
* state AC
*/
#include 
using namespace std;
int gcd(int x,int y)
{
    while(x!=y)
    {
        if(x>y)x=x-y;
        else y=y-x;
    }
    return x;
}
int main()
...
                            
                            
                                分类:
其他好文   时间:
2014-05-14 14:29:59   
                                阅读次数:
225
                             
                         
                    
                        
                            
                            
                                【前言】最近一直在忙着学算法,但是效果似乎不是很好。前段时间的树剖也快忘了= =。树套树没熟练,就开始写主席树了= =。更别说本身就不是很懂的莫比乌斯反演了。~~决定好好复习一下。
【点分治的作用】套用SYC大神的话说是:用来解决树上路径点权统计问题。
【大致流程】
①找出这颗树的重心。
②统计经过这个重心的答案
③用重心把树割开
④对每个“小树”做同样的事
【Q1——重心】其实找重...
                            
                            
                                分类:
其他好文   时间:
2014-05-14 14:14:39   
                                阅读次数:
386
                             
                         
                    
                        
                            
                            
                                辗转相除,又名欧几里德算法(Euclidean 
algorithm)乃求两个正整数之最大公约数的算法。此处用函数的递归调用编写了一个小程序:int gcd(int a,int b){ if(a%b==0) 
return b; else return gcd(b,a%b)...
                            
                            
                                分类:
其他好文   时间:
2014-05-14 10:20:27   
                                阅读次数:
241
                             
                         
                    
                        
                            
                            
                                1 /** 2 大意: 计算 a^b 的所有因子的和, 和mod 9901 3 思路; 将a 
进行质因子分解,那么所有因子的和为 4 (2^0+ 2^1 + 2^2 +....+ 2^a1)*(3^0 + 3^1+..+ 3^a2)*..... 5 
注意: 求模n下a的逆,需要 gcd(a,n).....
                            
                            
                                分类:
其他好文   时间:
2014-05-13 21:31:55   
                                阅读次数:
429
                             
                         
                    
                        
                            
                            
                                后缀数组或者AC自动机都可以,模板题。/************************************************************** 
Problem: 3172 User: BLADEVIL Language: C++ Result: Ac...
                            
                            
                                分类:
其他好文   时间:
2014-05-13 21:25:44   
                                阅读次数:
433
                             
                         
                    
                        
                            
                            
                                1 /** 2 大意: 求解 在[1,n] x, [1,m] y,之间有多少个gcd(x,y) = d 
d = min(n,m) 3 思路: 对于任意一个d 在[1,n] x, [1,m] y, gcd(x,y) 含有d 因子的个数为 n/i * m/i 
这是所有含有因子d的组合的个...
                            
                            
                                分类:
其他好文   时间:
2014-05-13 21:00:57   
                                阅读次数:
279
                             
                         
                    
                        
                            
                            
                                题目地址:BZOJ 1036
题目大意:给出一棵树,每个点有一个权值,要求三种操作:1.修改某个点的权值,2.询问x到y路径上各点的权值最大值,3.询问x到y路径上各点的权值之和。
算法讨论:树链剖分模板题。
Code:
#include 
#include 
#define N 30000
#define oo 0x7f7f7f7f
using namespace std;
int...
                            
                            
                                分类:
其他好文   时间:
2014-05-13 15:45:57   
                                阅读次数:
336
                             
                         
                    
                        
                            
                            
                                题意很简单,求sum(gcd(i,n))   1
这题看到后第一反应并没有里用积性函数的性质,不过也可以做,欣慰的是我反应还是比较快的
设f(n)=gcd(1,n)+gcd(2,n)+....+gcd(n-1,n) + gcd(n,n),
用g(n,i)表示满足 gcd(x,n)=i的 x的个数 (x小于n),则 f(n)=sum{i*g(n,i)};
同时又利用 扩展欧几里德的性...
                            
                            
                                分类:
其他好文   时间:
2014-05-13 13:40:58   
                                阅读次数:
365
                             
                         
                    
                        
                            
                            
                                名词解析全局队列global主队列mian_queue串行队列create队列queue异步async同步sync异步和同步 
与方法无关,与队列相关同步主要用来控制方法的调用顺序1.主队列2.全局队列3.串行队列主队列用于更新UI和界面相关的操作全局队列全局队列是异步执行的,没有先后顺序,可能会开启...
                            
                            
                                分类:
其他好文   时间:
2014-05-13 10:45:27   
                                阅读次数:
270