待归
文章平均质量分 62
Polya_Xue
这个作者很懒,什么都没留下…
展开
-
hdu1261(组合排列问题)
题意是给字符串有多少种全排列的方式当然没有这么简单重点在于有重复字符串假设n个字符,mi代表第i种字符有m个所以:n!/mi!因为数很大,不能直接算,把mi!们一个个和n!消掉,并且最后算消了不少的n!时,有因为数太大是大整数相乘#include#include#includeusing namespace std;int gcd(int a原创 2017-07-27 21:49:32 · 272 阅读 · 0 评论 -
u725子集生成
一开始用全排列做了,然后超时,然后看了网上的,取巧的感觉,不太明白子集生成什么情况自己的://// main.cpp// u725//// Created by Mr.Xue on 17/2/18.// Copyright © 2017年 Mr.Xue. All rights reserved.//原创 2017-02-19 01:11:57 · 356 阅读 · 0 评论 -
toposort
拓扑排序,感觉就是入度的问题,比如很多人比赛,判断哪个是冠军就是入度,也就是输的场数,为0的那个人现在有两道题,第一道,a必须排在b前面的排序问题,uva10305这个用队列做的://// main.cpp// d.u10305//// Created by Mr.Xue on 17/2/3.// Copyright ©原创 2017-02-07 23:29:56 · 342 阅读 · 0 评论 -
poj2245枚举排列(DFS)
递归卡了我好久,坑,用了DFS//// main.cpp// p2245//// Created by Mr.Xue on 17/2/12.// Copyright © 2017年 Mr.Xue. All rights reserved.//#include #include #include us原创 2017-02-14 22:25:10 · 264 阅读 · 0 评论 -
gcd最小公倍数
int gcd(int a,int b){ return b?gcd(b,a%b):a;}原创 2016-12-10 23:59:26 · 558 阅读 · 0 评论 -
欧几里得.p1061青蛙
一系列等式变换后,at+bp=gcd(a,b),要求最小的t,求最小的t之前先求出一组t,p,怎么求呢对于不完全为0的非负整数a, b. gcd(a, b)表示a, b 的最大公约数。那么存在整数x, y使得 gcd(a, b) = a * x + b * y; 所以,求出x,y来,就是一组t,p,求这个用改装过的gcd 求出来后,又变化一下原创 2016-12-11 17:01:16 · 169 阅读 · 0 评论 -
Polya.poj1286
搞不懂。。唉。。#include long long Pow(longlong a,int b){ long long c=1; for(;b;b>>=1) { if(b&1) c*=a; a*=a; } return c;}原创 2016-12-11 00:01:30 · 195 阅读 · 0 评论 -
链表.u12657置换
对一排数字输入命令来置换,看了网上的,觉得差不多了,自己不一定写出来#include using namespacestd;int lef[100005],righ[100005];void link(int l,int r){ lef[r]=l; righ[l]=r;}int main(){原创 2016-11-28 22:37:07 · 234 阅读 · 0 评论 -
二叉树 .u699落叶数叶子
落叶堆数落叶,这个是自己写了一个,然而不完善过不了,参考网上的,和自己写的很像,改了一些细节#include #include #include using namespacestd;int s[90],d,sum,stopl,stopr;void ds(int n){ cin>>d; if(d=原创 2016-11-28 22:31:23 · 316 阅读 · 0 评论 -
二叉树.u122给坐标建树
给定一些坐标点建树网上看的,自己不会写,代码挺晕的#include #include #include #include using namespacestd;//节点结构体,存储节点的值及左右子节点struct NODE{ int nVal; NODE *pL; NODE *pR转载 2016-11-28 21:55:24 · 286 阅读 · 0 评论 -
hdu1207(汉诺塔II)
题意,四个柱子的汉诺塔来自:http://blog.csdn.net/pmt123456/article/details/53571989一、经典汉诺塔 有三根相邻的柱子,标号为A,B,C,A柱子上从下到上按金字塔状叠放着n个不同大小的圆盘,要把所有盘子一个一个移动到柱子B上,并且每次移动同一根柱子上都不能出现大盘子在小盘子上方,请问至少需要多少次移动,设移原创 2017-08-02 18:17:23 · 411 阅读 · 0 评论 -
hdu2121(朱刘算法)
来自http://www.cnblogs.com/Recoder/p/5011409.html题目意思大概是要你在一些城市中选一个做首都 , 要求首都都能到其他城市 , 道路花费要最少 , 且道路都是单向的 , 这个时候就要用到最小树形图算法了 , 而且是不固定根. 不定根就是加一个虚根(原本不存在的点) , 可以让这个虚根到每个点的距离大于原本所有点连接的道路花费之和sum转载 2017-08-16 21:55:23 · 401 阅读 · 0 评论 -
排序
快排,快排是一种优化版的冒泡// main.cpp// sort//// Created by Mr.Xue on 17/1/19.// Copyright © 2017年 Mr.Xue. All rights reserved.//#include using namespace std;int a[原创 2017-01-21 00:31:24 · 200 阅读 · 0 评论 -
hdu6103(尺取)
来自http://blog.csdn.net/yqdjl6/article/details/77100392问题就是给你一个串,让你求两个连续的子串,使其ASCII的差的绝对值之和不大于m的情况下,使子串最长 这道题用枚举中心点的方法, 依次向外扩展,直到不能扩展为止,取长度最大值,因为会遇到奇偶串的情况,所以要枚举两次取中心点向外扩展的时候,当abs们之和大于m时转载 2017-08-11 21:47:40 · 621 阅读 · 0 评论 -
中位数
来自http://blog.csdn.net/w571523631/article/details/72862631(侵删)总结:对于n个数,移到相同位置,往往是排序后移到中位数那里。。。。 1952: 地下情报员 Time Limit: 1 Sec Memory Limit: 128 Mb Submitted: 14 Solved转载 2017-08-12 17:06:08 · 323 阅读 · 0 评论 -
头文件
#include#include#include#include#include#include#include#include#include#define INF 0x3f3f3f3fusing namespacestd;转载 2017-08-24 21:14:48 · 232 阅读 · 0 评论 -
uva129回朔法
这道题应该是很经典的,题意懒得写了,自己写的用了DFS,写了挺久的格式是每隔4个字母有个空格,64个换行,很坑爹,错了好多次//// main.cpp// u129//// Created by Mr.Xue on 17/2/20.// Copyright © 2017年 Mr.Xue. All rights reserved原创 2017-02-23 20:17:56 · 266 阅读 · 0 评论 -
回朔法u12325
不清楚这道题和回朔有什么关系,想到怎么写就怎么写关键是这道题我想不出来怎么写,用了枚举,就当做暴力比较了所有情况吧#include #include #include using namespacestd;long long Gcd(longlong u, longlong v){ if(u {原创 2017-02-25 21:25:39 · 237 阅读 · 0 评论 -
hdu1492(丑数因子数)
约数仅由2,3,5,7组合的数叫做humble number,如丑数列:1,2,3,4,5,6,7,8,9,10,12,14,15,16, 18, 20, 21, 24, 25, 27, ...问给一个丑数有多少个因子(所有的)12的因子1,2,3,4,6,12附每个自然数都可以分解为质因数相乘的形式这道题先将丑数按2,3,4,7因子分解,然后将分解的数字+1后相乘#转载 2017-07-27 18:06:02 · 612 阅读 · 0 评论 -
hdu1465(错排)
就是一个错排,公式是f[n]=(n-1)*(f[n-1]+f[n-2]); 推理过程可点击:错排转载请注明出处:寻找&星空の孩子 #include #define LL long long LL f[25]; void init() { f[0]=0; f[1]=0; f[2]=1; for转载 2017-07-27 12:24:04 · 192 阅读 · 0 评论 -
hdu1394(求逆序数)
题意:一个由0..n-1组成的序列,每次可以把队首的元素移到队尾, 求形成的n个序列中最小逆序对数目 思路:如果求出第一种情况的逆序列,其他的可以通过递推来搞出来,一开始是t[1],t[2],t[3]....t[N]它的逆序列个数是N个,如果把t[1]放到t[N]后面,逆序列个数会减少t[1]个,相应会增加N-(t[1]+1)个原创 2017-07-19 16:44:06 · 293 阅读 · 0 评论 -
hdu1316(区间范围内的fibs树)
大体还是和求fibs差不多的,只是区间比较有点麻烦,可以加深接触string//// main.cpp// 5.2//// Created by Mr.Xue on 17/7/15.// Copyright © 2017年 Mr.Xue. All rights reserved.//#include #in原创 2017-07-15 17:35:46 · 230 阅读 · 0 评论 -
hdu3068(最长回文串)
就是在一个字符串中找到最长回文串先将回文串扩展,这样无论n为奇偶扩展后都为偶数abcgcr->#a#b#c#g#c#r#然后建立一个数组,含义是当前位置的回文字符个数# a # b # c # g # c # r #0 1 0 1 0 1 0 3 0 1 0 1 0 ->p[]这样就很方便出结果了原创 2017-07-13 11:45:45 · 281 阅读 · 0 评论 -
uva11076求全排列的和
假定给n个数字(n, , , , , and the sum of them is 1332.大佬的代码没懂先贴上#include#includelong long one[13]={ 0,1,11,111,1111,11111,111111,1111111,11111111, 111111111,1111111111,1111111111转载 2017-06-23 17:36:55 · 232 阅读 · 0 评论 -
uva11181(概率)
先代码再写#include #include const int N = 30;int n;double p[N], ans[N];double dfs(int c, int k, double pi)//(1,r,1){ if (c > n) return k ? 0 : pi; double转载 2017-06-16 23:42:43 · 270 阅读 · 0 评论 -
uva1636概率
我发现看懂题目。。挺麻烦的,看懂了就很好做了,从今以后开始练习看题代码留个纪念#include #include #include #include using namespace std;int main(){ char s[10000]; while(~scanf("%s",&s)) { //printf(原创 2017-06-12 22:05:01 · 185 阅读 · 0 评论 -
指针
先写这么多,再补充#include#include#include#include#includeusing namespace std;void zhizhen_1(int *c){ *c=3;}void zhizhen_2(int d[]){ d[1]=6;}int *max(int *x,int *y)原创 2017-04-02 18:21:22 · 229 阅读 · 0 评论 -
前序遍历(结构体指针)
#include#include#include#include#includeusing namespace std;struct node{ char data; node *lson; node *rson;};node *creattree(node *head){ head=new node; sc原创 2017-04-02 16:57:27 · 668 阅读 · 0 评论 -
tarjan算法
这个算法原理懂了,但是代码没有看懂就是找出图中的强连通分量#include#include#includeusing namespace std;struct node{ int v,next;} edge[1001];int DFN[1001],LOW[1001];int stack[1001],heads[1001],visit[1001],c转载 2017-04-02 15:19:37 · 199 阅读 · 0 评论 -
字符串排序qsort
#include#include//#include#includeusing namespacestd;struct node{; char str[10];}s[10];int cmp(constvoid *a,constvoid *b){ returnstrcmp(((node原创 2017-03-30 12:22:03 · 740 阅读 · 0 评论 -
雨滴
苏东坡在迁谪黄州期间对竹子情有独钟,他在屋前挂了很多用来当作雨檐的竹子。某日,天空下起了雨,苏轼静坐在窗前看着窗外,手抚瑶琴,忆古思今。他突然感悟到,人生之于宇宙,与其说像沧海一栗,不如说更像这眼前的每一个雨滴,虽然飘忽不定,但都有属于自己的归宿。于是他突发奇想,他想要知道每个落在雨檐上的水滴会落在什么位置,来印证自己对于人生的拷问。假设被当作雨檐的竹子的位置都是已知的。如下图所示。可以看出这原创 2017-03-24 18:40:02 · 372 阅读 · 0 评论 -
全排列(c++自带
发现自己忘了全排列怎么写,从网上搜到了c++自带的,挺实用#include #include /// next_permutation, sortusing namespacestd;int main (){ int myints[] = {1,2,3,4}; sort (myints,myints+4)转载 2017-03-07 00:16:51 · 251 阅读 · 0 评论 -
cmp贪心h2307
我写的这个应该算贪心吧,写出来就行,有sort排序的cmp用法//// main.cpp// h2307//// Created by Mr.Xue on 17/3/1.// Copyright © 2017年 Mr.Xue. All rights reserved.//#include #in原创 2017-03-02 00:08:40 · 189 阅读 · 0 评论 -
double+pow函数p2109
作者:转载请注明出处:優YoU http://user.qzone.qq.com/289065406/blog/1299228474double的范围很大啊,不过也没用过。。。精确度不高啊。。#include#includeusing namespacestd;int main(void){ dou转载 2017-03-02 00:06:23 · 726 阅读 · 0 评论 -
csu1510(规律)
题意:从(0,0)开始在坐标上移动,问x,y分别可以移动到的位置的最小值和最大值,有四种移动方式:F:在当前面对的方向移动一格,一共四个方向,自然是坐标轴的上下左右四个方向,这代表着每次只有x变化或者只有y变化L:当前方向向左转90度,比如面对着x轴正方向转为y轴正方向R:向右转90度?:这个代表着这个命令由你定,你可以执行上述三个命令中任何一个,当然为了得到极值选哪个命令就是这道原创 2017-08-26 15:47:15 · 413 阅读 · 0 评论