上一页 1 2 3 4 5 6 7 8 9 10 ··· 48 下一页
  2013年7月12日
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2422每一天的情况是相互独立的d[i][j] 表示这一天比了i次赢了j次还不能回去的概率这样就可以 求出比了n次 仍然不能回去(垂头丧气回去,以后再也不玩了)的概率 Q然后可以经过推导 最终期望为 1/Q代码:#include#include#include#include#include#include#include#include#include#include#includ 阅读全文
posted @ 2013-07-12 15:48 夜-> 阅读(189) 评论(0) 推荐(0) 编辑
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1962f(i) 表示 在有一只tribble 经过i天后全死掉的 概率然后枚举tribble第一天生了多少个后代 所以:f(i) = P0*(f(i-1)^0)+P1*(f(i-1)^1)+P2*(f(i-1)^2)+.......+Pn-1*(f(i-1)^n-1)代码:#include#include#include#include#include#include#includ 阅读全文
posted @ 2013-07-12 14:45 夜-> 阅读(205) 评论(0) 推荐(0) 编辑
  2013年7月9日
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1502博弈 SG 不可以使出现 XX 或者 X.X的情况,这样下一个人就赢了枚举每个.将其变成X 看是否可以让对手输1,已经出现了 XXX 对手已输2,如果正好出现了 XX 或者 X.X 对手赢3,如果一个地方的.变成X 不会出现XX或者X.X 把这些地方分成一个个的段 SG代码:#include #include #include #include #include #inclu 阅读全文
posted @ 2013-07-09 15:53 夜-> 阅读(284) 评论(0) 推荐(0) 编辑
摘要: 博弈 SG 由于每个a太大,没有办法递推,但是可以找规律a为偶数 SG(a)=a/2a为奇数 SG(a)=SG(a/2)代码:#include #include #include #include #include #include #include #define ll long long#define lint long longusing namespace std;const int N=4000005;ll F(ll a){ if(a==1) return 0; if((a&1)==0) return (a>>1); return F(a>>1);}i 阅读全文
posted @ 2013-07-09 10:20 夜-> 阅读(235) 评论(0) 推荐(0) 编辑
  2013年7月8日
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2421代码及其注释:#include #include #include #include #include #include #include #define ll long long#define lint long longusing namespace std;const int N=4000005;int phi[N];//phi[k] 表示从1到k 和k互质的数有几个l 阅读全文
posted @ 2013-07-08 11:17 夜-> 阅读(174) 评论(0) 推荐(0) 编辑
摘要: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2120假设式子的最高幂次为k 则只需要测试1到k+1就可以了原理见 刘汝佳的《算法竞赛入门经典入门指南》 P123字符串需要自己处理,比较繁琐 一定要细心代码:#include #include #include #include #include #include #include #define ll long long#define lint long lon 阅读全文
posted @ 2013-07-08 10:38 夜-> 阅读(247) 评论(0) 推荐(0) 编辑
  2013年7月7日
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1194不看解析还真没有什么思路,刘汝佳的《算法竞赛入门经典训练指南》P117将原问题转换成树 然后再进行树型DP代码:#include #include #include #include #include #include #include #define ll long longusing namespace std;const int N=100;ll dp[N][N];ll 阅读全文
posted @ 2013-07-07 18:49 夜-> 阅读(237) 评论(0) 推荐(0) 编辑
  2013年7月6日
摘要: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2124这道题可以用递推做,但是没有必要首先说长度为L假设R的个数为x,O的个数为y,那么x+y=L而且x-y=4当L为奇数和小于4的时候肯定不可以由于O不能相邻 可以假设O 的数目和R一样多,交叉排放。然后从这些O中去掉4个1,R开头的情况 C(x,4)2,O开头的情况C(x-1,4)然后两种情况相加即可代码:#include #include #include # 阅读全文
posted @ 2013-07-06 21:12 夜-> 阅读(420) 评论(0) 推荐(0) 编辑
摘要: http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2346数位DP代码:#include #include #include #include #include #include #include #define ll long longusing namespace std;int dp[11][90][10002];int a[11];int c[11];int M;int dfs(int x,int k1,int k2,int 阅读全文
posted @ 2013-07-06 20:12 夜-> 阅读(213) 评论(0) 推荐(0) 编辑
摘要: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=1517久违的树形dpdp[l][r] 表示在l到r之间字符串形成的子树有多少种然后要枚举最左树枝所到位置 假设是 i 那么从l+1到i-1 递归就是最左树枝的种类 然后乘上剩下的部分剩下的部分i到r相当是去掉了最左树枝的又一个子树,递归就可以代码:#include #include #include #include #include #include #inclu 阅读全文
posted @ 2013-07-06 18:59 夜-> 阅读(162) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 48 下一页