Uva 12585 Poker End Games 概率与期望

摘要: 题目地址:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=4030 只要在哪一个状态下是小的那个赢了,游戏就结束。 所以我们考虑最坏的情况,每次都是小的赢,自己变为两倍。想起了之前选拔赛那个两个盒子之间球倒来倒去那个题。当时只要超过1000次就认为进入循环了。 这里计算概率也要分两种情况,进入循环和不进入循环。 不进入循环就会在某一时刻a【k】==b【k】。 意味着会有k+1轮, 对于期望,最后一个不再是(k+1)*0.5^(k+ 阅读全文
posted @ 2013-08-19 01:07 814jingqi的ACM 阅读(179) 评论(0) 推荐(0)

SGU 124 射线法 判断点与多边形位置关系

摘要: #includeusing namespace std;//struct point//{//////};int max(int a,int b){ if(a>b) return a; else return b;}void swap(int &a,int &b){ int temp=a; a=b; b=temp;}int main(){ int n; cin>>n; int a,b,c,d; int xa[n],ya[n],xb[n],yb[n]; for(int i=0;i>xa[i]>>ya[i]>>xb[i]>> 阅读全文
posted @ 2013-08-10 00:48 814jingqi的ACM 阅读(186) 评论(0) 推荐(0)

LA 4665 Favorite Time 模拟

摘要: 题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2666这个题的意思有点没说清楚,不知道最频繁指的什么,后来队友指点,直接开一个1440大的数组存每一分钟的状态,然后找出最大的次数,然后第一次出现这样的次数的一段。为了统计,在最后补了一个-1;代码:#include#include#include#includeusing namespace std;string format(int n){ strin 阅读全文
posted @ 2013-08-09 21:28 814jingqi的ACM 阅读(154) 评论(0) 推荐(0)

hdu 4662 MU Puzzle 13多校第六场

摘要: 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4662题解: 首先U全部转化为三个I(本质),M又只能在开头。所以就是在乎I的个数问题了。 如果仅仅有扩倍,则I的个数为2^n个,如果中间某次去了K个两个U ,I的个数就为2^n-6*k, 再下次无论是扩倍还是减6,都还是可以表示为2^n-6*k. 所以必要条件找到了,那就是num(I)=2^n-6*k 有整数解,再看充分性,一旦可以表示为这种形式,我们就扩倍n次,然后做k次去两个U的操作,充分性得证。 考虑这个不定方程。 首先2^k mod6 是周期数列1,2,4,2,4....所以必要条件是I= 阅读全文
posted @ 2013-08-09 00:15 814jingqi的ACM 阅读(118) 评论(0) 推荐(0)

LA 4661 重复元素的排列

摘要: 题目地址:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=2662思想: 1 先把每个概率乘起来,然后乘以可充排列的种数。 2 先一开始用(n1+n2+n3+...+nk)! / (n1! *n2! * n3!*...*nk!) 来算,sb了 因为用BigInteger太慢了~ 这个数是可以很大很大的, 50!呀。但是这个数可以拆成组合数的乘积: c[n1+n2+..+nk][n1] *c[n2+n3+..nk][ 阅读全文
posted @ 2013-08-07 00:58 814jingqi的ACM 阅读(109) 评论(0) 推荐(0)

hdu 1861 游船出租 tag:模拟

摘要: 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=1861 一个研究生入学考试上机题==b思路: 将信息放在结构体里,然后存在向量中, 最后扫描到n==0就统计,输出,清空向量。 需要注意的是 1 同一艘船可能出租两次,于是扫描到op=='E' 时,就要立马处理。 2 扫描到op=='E' 时 ,还要看是否有S的记录,如果没有找到就不处理 3 从00:00 -> 00:00 算是借了一分钟~ 而不是差值0分钟 4 字符串和整数之间转化 用stringstream ,#includ... 阅读全文
posted @ 2013-08-05 01:20 814jingqi的ACM 阅读(137) 评论(0) 推荐(0)

zoj 1733 最长公共子序 经典动态规划

摘要: 题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1733初始化时,需要计算所有的f[0][i] 和 f[i][0] , 状态转方程是 f[i][j]= if (a[i]==b[j] ) f[i-1][j-1]+1 else max(f[i-1][j],f[i][j-1]) 数组开大一点· 【100】【100】 是错了的代码:#include #includeusing namespace std;int f[1000][1000];int max(int a,int b){ if(a>b) re 阅读全文
posted @ 2013-08-05 01:10 814jingqi的ACM 阅读(110) 评论(0) 推荐(0)

hdu 4611 Balls Rearrangement (13多校#2-A)

摘要: 题目地址:http://acm.hdu.edu.cn/showproblem.php?pid=4611题解:显然一个个求和时会以lcm(a,b)为周期,但是一旦a,b公因子比较少,这样也还是会超时的, i++这个跨度太小. 注意到如果mod a的序列在上升,mod b的序列也在上升,则ans+= 的那个值是不变的,这样我们就可以增加跨度了。 考虑从i开始的跨度为jump的序列时,只需要去 a-i%a ,b-i%b的较小值就可以了。 最后注意一下i+jump不可以超过边界,一旦超过,我们把i赋值成很大,这样保证会退出去就可以了#include#includeusing namespace std 阅读全文
posted @ 2013-08-03 19:21 814jingqi的ACM 阅读(89) 评论(0) 推荐(0)

zoj 2705 Dividing a Chocolate 斐波那契数列应用 (8-B)

摘要: 题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1705题解: 1 首先看到题目想起那个两个盒子之间把求放来放去,每次大的那边减去和小的那边一样数目的球,问能不能让所有球在一个盒子中去。 有点类似,但是这个题总数在减 少,而且这里存在最佳情况。 2 分析这个题要逆向思考,首先我们选择分某一边后,剩下那一边就完全没有用了,举案例这个例子。6*5 -> (6*3+6*2)-> (6*1+6*2)->(6*1+6*1) 每次分别吃掉6*2,6*1, 最后把相等的6*1吃掉,可以看到这里6并没有用, 定下 阅读全文
posted @ 2013-07-31 17:57 814jingqi的ACM 阅读(148) 评论(0) 推荐(0)

zoj 2711 Regular Words DP,“高维的” 卡特兰数 (8-H)

摘要: 题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2711题解:1记录num[i][j][k] 表示从第一个字符开始,长度为i+j+k的,A的个数为i,B的个数为j,C的个数为k的字符串的个数。 则如果i>=j>=k 则可以根据最后一个字符是A, B还是C,分三类计数,假设是最后一位是A,由于题目的要求是前缀 ,所以前面的放法数恰好是num[i-1][j][k]另外两种情况同理,加的时候注意下标小于零就不要了 2一开始把所有的元素赋值为0,这样在三重for 中,根本没有将不满足ijk 不等关系的量作为 阅读全文
posted @ 2013-07-31 16:52 814jingqi的ACM 阅读(118) 评论(0) 推荐(0)