上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页
摘要: 题目地址: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 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目地址: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 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 题目地址: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 阅读(109) 评论(0) 推荐(0) 编辑
摘要: 题目地址: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 #include using namespace std; int f[1000][1000]; int max(int a,int b) { if(a>b 阅读全文
posted @ 2013-08-05 01:10 814jingqi 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 题目地址: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 #include using namespace s 阅读全文
posted @ 2013-08-03 19:21 814jingqi 阅读(160) 评论(0) 推荐(0) 编辑
摘要: 题目地址: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 阅读(166) 评论(0) 推荐(0) 编辑
摘要: 题目地址: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-1][k]另外两种情况同理,加的时候注意下标小于零就不要了 2一开始把所有的元素赋值为0,这样在三重for 中,根本没有将不满足ijk 不等关系的量 阅读全文
posted @ 2013-07-31 16:52 814jingqi 阅读(286) 评论(0) 推荐(0) 编辑
摘要: 题目地址:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=2709题解: 1 组合数的计算,用DP,速度又快又简洁。 2 首先用一个map统计出现了那些字母,以及对应的次数,然后n-总次数得到还有多少个字母可以分配,按照题意,只能是已经出现的字母。 想到Robbers那一题,感觉分给已经出现次数最多的比较好,或者像那题一样尽量按照比例分配,但是最后试了一下案例,探索发现案例的结果是在28,:11:11: 5:5的时候取到。 和按比例分很接近,但是49按比例... 阅读全文
posted @ 2013-07-31 00:04 814jingqi 阅读(221) 评论(0) 推荐(0) 编辑
摘要: 题目地址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26271#overview解题报告:http://blog.watashi.ws/764/andrew-stankevich-4-solution/ 阅读全文
posted @ 2013-07-30 23:31 814jingqi 阅读(78) 评论(0) 推荐(0) 编辑
摘要: 比赛地址:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=26275#overview题解报告:http://blog.watashi.ws/584/andrew-stankevich-10-solution/whu版本 阅读全文
posted @ 2013-07-30 22:45 814jingqi 阅读(92) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 7 8 9 10 ··· 12 下一页