- 博客(25)
- 资源 (4)
- 收藏
- 关注
原创 NYOJ 42 一笔画问题(欧拉路径)
判断一笔画。思路:一笔画问题就是,判断欧拉路径,所以是欧拉路径的话需要满足两个条件。1)图是联通的。2)在图中的顶点度数为奇数的顶点数为2或者0。判断连通图的话必然是并查集,顶点的度数跑一边就可以 判断出来。#include#include#include#include#include#include#define inf 0x3f3f3f3f#define ll
2015-09-30 23:26:20 987
原创 HDU 1787 GCD Again (欧拉函数)
#include#include#include#include#include#include#define inf 0x3f3f3f3f#define ll __int64using namespace std;ll oula(ll x){ ll i,tmp=x; for(i=2;i*i<=x;i++) { if(x%i==0)
2015-09-30 18:05:01 495
原创 POJ 2377 Bad Cowtractors(最大生成树)
题目大意:裸的最大生成树思路:就是和最小生成树相似,Map数组初始化为0,并且在建立生成树的时候要选去最大的边进入集合。#include#include#include#include#define inf 0x3f3f3f3fusing namespace std;int n;int Map[1010][1010],dis[1010];bool vis[1
2015-09-29 17:41:41 462
原创 Hdoj 4081 Qin Shi Huang's National Road System(次小生成树)
Qin Shi Huang's National Road SystemTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 5458 Accepted Submission(s): 1915Problem Description
2015-09-28 23:18:04 457
原创 HDU 5491 The next(2015 ACM/ICPC Asia Regional Hefei Online )(贪心)
题目大意:求出一个数比给定的数D大并且此数的二进制中的1的个数再s1,s2之间.思路:如果直接通过D+1向后暴力的话,必定时超时的,因为输入为300000组,如果给个2^31的D,s1=1,s2=1,那么找每个二进制值0.1的个数就会执行30次,并且还有循环找数的过程所以会超时.不能直接对数就行操作,那么可以对当前的2进制的0.1进行操作,当D+1的二进制中的1>s2时,应
2015-09-28 17:11:01 501
原创 POJ 1679 The Unique MST (次小生成树)
#include#include#include#define L 110#define inf 0x3f3f3f3fusing namespace std;int dis[110],pre[110],Map[110][110],Ma[110][110];bool use[110][110],vis[110];int n;int prim(){ int i,j;
2015-09-25 20:40:53 535
原创 SDUTOJ 2484 算术表达式的转换(表达式树)
示例输入a*b+(c-d/e)*f#示例输出+*ab*-c/defa*b+c-d/e*fab*cde/-f*+#include#include#include#includeusing namespace std;int l[1000],r[1000];char c[1000];int cnt=0;int bu(char s[],in
2015-09-25 15:36:44 676
原创 HDoj 1142 A Walk Through the Forest(记忆化收索+dijik)
题目大意:某人要从公司返回家中当从a点到家的距离比b到家中的距离要远,就从a->b,然后从b 再回到家中,问再图中符合这种的道路一共有多少.思路:要处理的地方有两点: 1)从公司到家的路程要近, 2)统计有多少种路程.对于1)的处理要么最小生成树要么最短路,但是这里是求1->2的路程所以只能用最短路处理.在收索的时候还要有一些技巧.#include#i
2015-09-24 17:10:59 530
原创 HDOJ 1102 prim
Constructing RoadsTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 17875 Accepted Submission(s): 6799Problem DescriptionThere are N vill
2015-09-23 16:11:12 450
原创 HDOJ 1272 小希的迷宫(并查集判环+判联通块)
Online JudgeOnline ExerciseOnline TeachingOnline ContestsExercise AuthorF.A.QHand In HandOnline AcmersForum | DiscussStatistical ChartsProblem ArchiveRealtime Judge Statu
2015-09-18 15:23:35 840
原创 SDUT 3322 (收索+打表)
题目描述一下迭代序列定义在整数集合上:n = n/2 (n 是偶数)n = n*3 + 1(n 是奇数)应用以上规则,并且以数字13开始我们得到一下序列:13,40,20,10,5,16,8,4,2,1可以看出这个以13开始以1结束的序列一共经过了9次运算。虽然还没有被证明(Collatz问题),但是人们认为在这个规则下,以任何数字开始都会以1 结束。 以哪
2015-09-17 19:26:00 591
原创 codeforces 577A(暴力枚举)
A. Multiplication Tabletime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputLet's consider a table consisting of
2015-09-17 10:36:09 653
原创 莫比乌斯反演1-x1-y,中的质数GCD(a,b)
题意:给定两个数和,其中,,求为质数的有多少对?其中和的范 围是。#include #include #include using namespace std;typedef long long LL;const int N = 10000005;bool vis[N];int p[N];int cnt;int g[N],u[N],sum[N];v
2015-09-16 20:36:49 683
原创 (莫比乌斯模板abcd区间)
题目大意:给定两个区间ab与cd问两区间内能有多少组数据组成GCD(x,y)=k;每行五个整数a,b,c,d,k(1 。#include#include#include#include#include#include#define ll long long#define MAX 1000010bool vis[1000010];ll prime[1000010],
2015-09-16 20:32:50 474
原创 HDoj 1695 (莫比乌斯反演)
题目大意:求解两范围内的最大公约数为k的种类数,1 2,2 1为1种。#include#include#include#include#include#include#include#define ll __int64#define inf 1000010+10#define MAX 1000010bool vis[1000010];ll mup[1000010];ll
2015-09-16 17:40:14 596
原创 未完成
#include#include#include#include#include#define MAX 100int num;using namespace std;struct node{ int d[MAX],len;};void init(struct node *st){ for(int i=0; i<MAX; i++)
2015-09-16 11:38:50 425
原创 在容量为m的背包里,问有多少种不超过m的装包方式(多重背包+枚举统计)
多组输入。对于每组数据,第一行为两个整数n,m(1 ) 。接下来的一行有n个整数Ai,n个整数Ci(1 ) 。文件的最后一行为两个0,代表输入结束。输出 对于每组数据,输出一行,包含一个整数代表答案。3 101 2 42 1 12 5 1 42 10 0示例输出84#include#include#include#
2015-09-15 21:17:20 779
原创 HDOJ 5432 Pyramid Split(二分)
题目大意:T组数据,有每组数据有n个椎体,以下2行分别时n个椎体的高和宽.求解横着切椎体使得切得的所有的椎体上下两部分的体积相同.#include#include#include#include#define LL long long#define esp 1e9using namespace std;double h[100010],k[100010],v[
2015-09-15 19:56:54 552
原创 寻找平方数(质因子问题)
一个数组里任选两个数求可以相乘为平方数的个数,数组的数据范围为100000,其中数组数值得数据范围为1000000;示例输入1 5 1 2 3 4 12示例输出2分析:一个数可以分为若干质因子相乘, 假设一个数是a*b^2,其中a无平方因子,那它要相乘得到一个完全平方数只能乘以一个a*c^2的数 ,那么在这两个数的乘积
2015-09-11 22:15:36 1017
原创 大数+同余模
给定两数n,m(分别#includeusing namespace std;char a[1000],b[1000];int look(char a[] ){ int l=strlen(a); int an=0; for(int i=0; i<l; i++) { an= ((a[i]-'0')+an*10)%11;
2015-09-11 19:55:57 591
原创 SDUTOJ 3307 a(k大背包)
#include#include#include#include#include#include#include#define ll long long#define inf 1000010+10using namespace std;int p[1010],c[1010],a[1010],b[1010];int dp[1010][1010];int main(){
2015-09-10 17:21:56 456
原创 HDOJ 2639 Bone Collector II(01||第K大背包)
题目大意:给定3个数n,m,k,分别代表有n个骨头,m大的背包,求解第k大的价值。以下两行分别代表,价值和体积。思路:定义两个数组a,b来分别存dp[j-v[i]][t]+p[i],和dp[j][t],其中dp[j][t],代表体积为j的包能装的第t大价值。最后再合并到dp数组中,求解前K大只需要将前K个数求解出来,放入dp中。#include#include
2015-09-10 17:05:22 553
原创 HDOJ 4762 Cut the Cake(概率+Java)
Problem DescriptionMMM got a big big big cake, and invited all her M friends to eat the cake together. Surprisingly one of her friends HZ took some (N) strawberries which MMM likes very much to deco
2015-09-09 22:14:35 546
原创 SDUTOJ 3306 英文题看不懂
思路: 弄懂题目大意后,我是以A矩阵为标准,来进行对B矩阵的匹对,但是不容易控制。看了别人的才想起也可以用B矩阵为标准,把A来匹对。#include#include#include#include#include#include#include#define ll long long#define inf 1000010+10using namespace std;
2015-09-09 19:35:26 614
原创 拓展的欧几里得
找出一个数K满足0 输出 输出一个数K,满足0 示例输入2 3示例输出2思路:求解K*M%N=1,就等价于K*M=1%N;求K#include#include#include#include#include#include#include#define ll long long#define i
2015-09-07 17:15:53 559
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人