摘要:
从11月4号到今天正好半个月,在学校过了13天疯狂自习、补课本的日子。昨天结束了一涌而至的所有考试,今天写完了房教要求的竞赛总结,虽然还有各种报告要补,还是觉得有些东西要趁记忆清晰的时候写下来。(就像前几天碰见色爷时他说还没听我提过杭州的趣事呢) 如果不是最近头脑里被了一堆通原、信息论等充斥的无比乱,半个月前杭州之行一定更加是历历在目了。到杭州的第一天跟房教一起吃了一顿近3个小时的午饭到下午4点;第二天去参加开幕式,各种人发言;练习赛愉快地过去了,之后被陈主席号召各种逛浙江理工(就差没逛警官学院了);比赛前一天的各种考虑各种担忧;现场赛在无比平静的情况下过去了;围着西湖走了大半圈,... 阅读全文
摘要:
这个算是脱了很久很久的一片解题报告了。主要是运用动态规划求解期望问题的解法,一般用记忆化搜的写法更好理解。以几个题为例:UVALive 5811,Card。题意很简单:一副扑克牌共有13张黑桃,红心,梅花,方片和大小王各一张,input会给出黑桃,红心,梅花,方片的数量。问从随机分布的一堆牌中依次抽取一张牌,达到题中所要求的数量,至少需要抽取牌的期望,如果抽到大小王,则可以把它们当成任意花色,因为要求抽取的牌数最少,所以当然是当成最需要的了。比赛训练时想了很久,都没有想出来,最后还是看了大牛的代码才略懂一二。主要是用dp值表示期望,记忆化搜直接出解,dp[a][b][c][d][big][sm 阅读全文
摘要:
练比赛的时候uva挂了,所以整场比赛都没怎做,不过作为一个做队里数学的人,当时没很快的给出解法真是太蒟蒻了。题意很简单,是纳税的模型,每个人薪水根据阶段纳税,小于s1的部分不纳税,s1至s2部分按0.1纳税,大于s2的按0.2纳税。题中每组case给出这个人的薪水,和一段区间[min,max],s1与s2平均分布在区间[min,max]中,问这个人平均纳税值的期望。其中min,max都是整数,s1,s2也要求是整数You should assume that all distinct combinations of S1 and S2 satisfying the above conditio 阅读全文
摘要:
Sample InputOutput for Sample Input32 2sohelH-CSE samee-CSE4 2Blind-ECS sidky-CSE muntasir-CSC ShadowCoder-EEE4 2ABC-D1 DEF-D1 ghi-D2 jkl-D3Case 1: 0Case 2: 24Case 3: 16题意:给出n个人与这些人分别所属的公司,其中属于同一家公司的人不会超过3个人。将n个人任意排列(即有n!)中情况,按顺序将任意排列的n个人,每k个人一组(保证n%k==0),问满足每组不会有相同公司人的排列有多少个?比赛的时候一直没往DP方面想,后来发现确实是一 阅读全文
摘要:
后来看了07年周泽(大概是?)的论文,才知道原来这个是一个很经典的单调队列题。题意:给出一个长度为n序列,每次将第一个元素移至最后可以得到有n种序列,问其中有多少个满足对于所以的i(1≤i≤n),sigma(a[k]),(1≤k≤i)>=0,就是可以维护一个递增的序列,这样每次取队首就O(1)的求出是否满足条件了,维护序列只需要O(n)的复杂度。比赛的时候用dp思想的st(rmq)的O(nlogn)的算法超时了,后来知道原来有一种RMQ转换为LCA,又转化为RMQ的算法可以做,这样复杂度也可要跟单调队列的做法一样,转换为O(n)。这类单调队列的基本做法吧。比较习惯的写法:l=0; r=- 阅读全文
摘要:
题目:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=1967题意:多case,有两个集合Ga和Gb,两个集合最开始都有S个元素,可以将Ga中的元素移动到Gb中,也可以将Gb中的元素移至Ga中,每次移动的花费为移动前两集合中元素个数之差的绝对值,在保证花费不超过最大花费C的情况下,使Ga中最小的元素-Gb中最大的元素的值最大,化成式子就是求Max{min{Ga}-max{Gb}}。应该算是贪心吧,想了很久,推出了个结论过了,不过后面要用到二分,不过数据弱,不用二分也能过,正解应该要用二分查找的,不过写二分到是写苦了我,这次顺 阅读全文
摘要:
觉得好就顺便转了转自:http://hi.baidu.com/czyuan_acm/blog/item/d0bf7a439d90d21b72f05d69.html 这里指的java速成,只限于java语法,包括输入输出,运算处理,字符串和高精度的处理,进制之间的转换等,能解决OJ上的一些高精度题目。1. 输入:格式为:Scanner cin = new Scanner (new BufferedInputStream(System.in));例程:import java.io.*;import java.math.*;import java.util.*;import java.text... 阅读全文
摘要:
转自:http://hi.baidu.com/czyuan_acm/blog/item/8a6f7d88187acd9fa4c2721f.html难得的写的很全面的素数的判断,赞czyuan大神~高消的模板也是广为流传啊素数:只有两个正因数(1和自己)的自然数。素数,作为数论中最基础的理论之一,又是许多著名定理的根源。几个可以无视的性质:1. 1不是素数2. 除了2以为所有偶数都是合数。提高素数,第一反应都会是如果判断素数,找到我们想要的素数。这里列举几种最常用的判断素数的方法。1. 朴素判别素数 简述:即判断一个数N是不是素数,只需要判断从2到N^0.5的数是否能整除N,如果能则不是素数,. 阅读全文
摘要:
题意很简单,给出一个无向图,求其中生成树的个数。这里用到了一个叫(Kirchhoff's matrix tree theorem)的生成树计数原理,具体不知道是什么,柯队介绍上说的。具体可以参见http://wtommy.ycool.com/post.2218850.html按照定理,可以得到一个行列式,求值即可。知道以下几个知识就可以了:1、行列式的值与矩阵的变换关系有密切联系,即可以通过高斯消元的方法求出;2、求值过程中用到了行列式的三个性质: 对换行列式的任意两行(列),行列式的值变号; 行列式的某一行(列)中所有元素都乘以同一个数k,等于用数k乘以此行列式的值; 把行列式的某一 阅读全文
摘要:
题目:http://acm.fzu.edu.cn/problem.php?pid=1759也算是快速幂的一题了,只不过这里的指数B特别大。需要用到一个公式:A^x = A^(x % Phi(C) + Phi(C)) (mod C),其中x≥Phi(C)具体证明可见ac大神博客:http://hi.baidu.com/aekdycoin/item/e493adc9a7c0870bad092fd9。数论学得各种败笔和急于求成,自己的理解就不谈了~直接上代码就是直接用到公式即可: 1 #include 2 #include 3 #include 4 #include 5 #include 6 usi 阅读全文