随笔分类 - 13吉林通化邀请赛
摘要:题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4496将题目要查询的数倒过来求,先加一条边,保存cc(连通分支数) 然后再加一条边....当合并两个等价类的时候连通分支减1代码:#include
#include
#include
#include
using namespace std; int p[10000];
int u[100000];
int v[100000];
int ans[100000];
int find(int x)
{ return p[x]==x?x:p[x]=find(p[x]);
}
int main()
...
阅读全文
摘要:题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4493一个double 如果就用cout 貌似会用科学技术法;#include using namespace std; int x1(double k)
{ k*=10; return (int)k%10; } int x2(double k)
{ k*=100; return (int)k%10; }
int x3(double k)
{ k*=1000; return (int)k%10; } int main()
{ int T;
...
阅读全文
摘要:题目地址: http://acm.hdu.edu.cn/showproblem.php?pid=4497本题就是整数的标准分解,然后结合一点组合计数, 我们知道每个素数对应指数的最大值和最小值,现在问原始的三个数有多少种。首先做一个优化,将G变为1 ,将L 变为L/G (不整除就不谈了啊~ 无解) 、然后对每一个素数,分三种情况:【1】 指数==0 (不整除,忽略) 【2】 指数==1 那么c【3】【2】+ c【3】【2】 (哪两个是最大的或最小的) 【3】指数>=2 情形2的6种+ 指定大的*指定小的*剩下一个取中间的(n-2)个。 分解10^9这样的数时,我们打了10^ 6以内的素数
阅读全文
摘要:题解报告:http://acmicpc.info/archives/1405Oj hdu4493~4499和4597~4599
阅读全文
浙公网安备 33010602011771号