stl+杂碎知识+概率算法
秋天的风--
aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
展开
-
hdu 1027
#include#includeusing namespace std;int a[1100];int main() { int n,m,i; while(scanf("%d%d",&n,&m)!=EOF) { for(i=1;i a[i]=i; for(i=1;i next_permutation(a+1,a+n+1); printf("原创 2013-11-21 11:47:00 · 670 阅读 · 0 评论 -
hdu 4465 求期望(C(m,n)太大用log优化)
/*坑啊数学函数的运用log处理,exp还原tle好长时间,一直用g++交,最后把别人正确的代码交上也是tle,用c++交一遍ac题意:有两个数量为n的糖果,一个人开始吃,吃到最后有一堆剩余为0的时候不吃,把另一堆留给另外一个另一个人,求另一个人得到糖果的期望,这个人吃第一堆糖果的概率是p,第二堆糖果的概率是1-p,并且当他把一堆糖果吃完,再次吃的时候发现没有了才结束。解:分别求出当第原创 2014-11-04 12:33:53 · 670 阅读 · 0 评论 -
关于java对于大数处理的相关程序和用法
转载:1.如果要将一个大数以2进制形式读入 可以使用cin.nextBigInteger(2);当然也可以使用其他进制方式读入;2.如果要将一个大数转换成其他进制形式的字符串 使用cin.toString(2);//将它转换成2进制表示的字符串例程:POJ 2305 import java.io.*;import java.util.*;import java.math转载 2014-10-21 12:04:07 · 572 阅读 · 0 评论 -
ACM中java的使用
ACM中java的使用 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目。1. 输入:格式为:Scanner cin = new Scanner (new BufferedInputStream(System.in));例程:import java.io.*;转载 2014-04-15 11:23:30 · 545 阅读 · 0 评论 -
hdu 4712 随机算法
#include#include#include#define N 110000int a[N];int answer(int k) {int sum=0;while(k) { sum+=k%2; k/=2;}return sum;}int Min(int aa,int bb) {return aa>bb?bb:aa;}int main(){原创 2014-11-05 13:42:36 · 464 阅读 · 0 评论 -
hdu 4336 期望dp
解:用状压dp[0]=p1*dp[1]+p2*dp[2]+p3*dp[4]...+(1-p1..)dp[0]+1; .../*用递推形式312ms*/#include#include#include#define eps 1e-10#define N 20double f[N];int n;double dp[1<<N];int main(){原创 2015-04-29 13:29:31 · 526 阅读 · 0 评论 -
zoj 3229 期望dp 比较经典
/*思路从这个博客:http://blog.csdn.net/morgan_xww/article/details/6775853思路:(//后面是我自己添加上的帮助理解,其余解题思路的是转载,我用的记忆化搜索写的) dp求期望的题。 题意: 有三个均匀的骰子,分别有k1,k2,k3个面,初始分数是0, 当掷三个骰子的点数分别为a,b,c的时候,分数清零,否则原创 2015-04-30 10:56:07 · 531 阅读 · 0 评论 -
ZOJ3329之经典概率DP(这类概率dp的解题规律)
/*题意:有三个骰子,分别有k1,k2,k3个面。每次掷骰子,如果三个面分别为a,b,c则分数置0,否则加上三个骰子的分数之和。当分数大于n时结束。求游戏的期望步数。初始分数为0分析:假设dp[i]表示拥有分数i到游戏结束的期望步数则 (1):dp[i]=SUM(p[k]*dp[i+k])+p[0]*dp[0]+1;//p[k]表示增加分数为k的概率,p[0]表示分数变为0的概率转载 2015-04-30 11:00:44 · 588 阅读 · 1 评论 -
hdu 4035 经典期望dp
转载:http://www.cnblogs.com/kuangbin/archive/2012/10/03/2711108.html/*HDU 4035 dp求期望的题。 题意: 有n个房间,由n-1条隧道连通起来,实际上就形成了一棵树, 从结点1出发,开始走,在每个结点i都有3种可能: 1.被杀死,回到结点1处(概率为ki)转载 2015-04-30 15:42:11 · 470 阅读 · 0 评论 -
hdu 4870 期望问题(高斯消元)
/*初学概率期望问题参考:http://blog.csdn.net/a601025382s/article/details/38047905*/#include#include#include#include#includeusing namespace std;#define N 300struct node { double ma[N][N];}a;void原创 2015-04-28 10:09:57 · 469 阅读 · 0 评论 -
【STL】list基础
转载:http://www.cnblogs.com/fangyukuan/archive/2010/09/21/1832364.html转载 2015-04-28 08:05:55 · 365 阅读 · 0 评论 -
模拟退火法模板
#include"string.h"#include"stdio.h"#include"iostream"#include"queue"#include"stack"#define M 10009#define N 100009#include"stdlib.h"#include"math.h"#define inf 99999999#define eps 1e-8#defi原创 2014-10-12 21:33:03 · 591 阅读 · 0 评论 -
stl lower_bound()和up_bound()
转载:http://www.cnblogs.com/cobbliu/archive/2012/05/21/2512249.htmlSTL中的每个算法都非常精妙,接下来的几天我想集中学习一下STL中的算法。 ForwardIter lower_bound(ForwardIter first, ForwardIter last,const _Tp& val)算法返回一个非递减序列[f转载 2014-10-03 19:21:32 · 2178 阅读 · 0 评论 -
hdu 1075
#include#include#include#include#include#includeusing namespace std;mapmymap;int main() {int i,j,k,n,m;char s[4000],str[30],str2[30];string str1; scanf("%s",str);while(s原创 2013-11-14 10:29:41 · 559 阅读 · 0 评论 -
hdu 2094拓扑排序map实现记录
#include#include#include#include#includeusing namespace std;const int N=1100;int ma[N][N],indegree[N],n;int pre[N];int find(int x) {if(x!=pre[x])pre[x]=find(pre[x]);return pre[原创 2013-12-03 21:14:23 · 640 阅读 · 0 评论 -
strncpy的用法
char* strncpy(char*dest, char*src, size_tnum );功能:(c/c++)复制src中的内容(字符,数字、汉字....)到dest,复制多少由num的值决定,返回指向dest的指针。如果遇到null字符('\0'),且还没有到num个字符时,就用(num - n)(n是遇到n原创 2014-03-31 09:51:20 · 650 阅读 · 0 评论 -
手动扩栈#pragma comment(linker, "/STACK:1024000000,1024000000")
#pragma comment(linker, "/STACK:1024000000,1024000000")原创 2014-08-10 15:16:19 · 4707 阅读 · 0 评论 -
hdu 4941 stl的map<node,int>用法
#include#include#include#includeusing namespace std;typedef struct node{ int x,y; bool operator<(const node &b)const { if(x==b.x) return y<b.y; else原创 2014-08-12 17:29:26 · 1007 阅读 · 0 评论 -
poj 1379 模拟退火法
/*模拟退火法: 找到一些随机点,从这些点出发,随机的方向坐标向外搜索; 最后找到这些随机点的最大值; 坑://if(xx>-eps&&xx-eps&&yy<eps+y) {不知道为什么这个判断方式错误??????*/#include#include#include#include#define pi acos(-1.0)#define N 1100#define原创 2014-09-22 17:41:32 · 570 阅读 · 0 评论 -
C++标准库:bitset 用法整理&&zoj 3812
转载: std::bitset是STL的一部分,准确地说,std::bitset是一个模板类,它的模板参数不是类型,而整形的数值(这一特性是ISO C++2003的新特性),有了它我们可以像使用数组一样使用位。下面看一个例子:#includestd::bitset bs;//它是一个模板,传递的参数告诉编译器bs有8个位。我们接着看上面的代码,通过上面两转载 2014-09-23 16:02:59 · 584 阅读 · 0 评论 -
poj 2420 模拟退火法基础
/*题意:给n个电脑,求一个点到这n个电脑的距离和最小。模拟退火法:和poj1379的方法类似因为坐标范围是0-10000不妨把它看成是10000*10000的正方形来做*/#include#include#include#include#define inf 10000000000000using namespace std;#define N 110#define原创 2014-09-23 10:44:50 · 597 阅读 · 0 评论 -
模拟退火算fa
http://www.cnblogs.com/heaad/archive/2010/12/20/1911614.html转载 2014-09-17 20:27:18 · 495 阅读 · 0 评论 -
hdu 5017 模拟退火算法
hdu 5017 http://#include #include #include #include using namespace std;const int D[8][2] = {{0, 1}, {0, -1}, {1, 0}, {-1, 0}, {1, 1}, {-1, -1}, {1, -1}, {-1, 1}};double a, b, c, d, e, f;转载 2014-09-17 20:42:50 · 559 阅读 · 0 评论 -
stl lower_bound()返回值
http://blog.csdn.net/niushuai666/article/details/6734403函数lower_bound()在first和last中的前闭后开区间进行二分查找,返回大于或等于val的第一个元素位置。如果所有元素都小于val,则返回last的位置举例如下:一个数组number序列为:4,10,11,30,69,70,96,100.设要插入转载 2014-10-03 19:16:43 · 675 阅读 · 0 评论 -
poj 2151 概率dp(求概率)&&poj3071全概率公式
/*思路:http://www.cnblogs.com/rainydays/archive/2011/07/01/2095913.html题意:在acm比赛中,n题,t队。给出每个队做对每题的概率,问每队至少对一题,至少有一队做对至少m题的概率分析:dp,f[i][j]表示第i个队伍做对第j题的概率。g[i][j][k]表示第i个队伍对于前j题而言做对k道的概率。g[i][j][k]原创 2015-05-01 08:46:39 · 568 阅读 · 0 评论