01 2015 档案

摘要:题意:三种操作:1. add x – add the element x to the set;2. del x – remove the element x from the set;3. sum – find the digest sum of the set. The digest sum s... 阅读全文
posted @ 2015-01-28 10:40 fish7 阅读(114) 评论(0) 推荐(0)
摘要:题意:h*w的白板。有n个广告牌,每个广告牌是1*wi。必须放置在白板的upmost中的leftmost。输出n个广告牌放置在第几行。如果放不下,输出-1。数据规格:h, w, and n (1 > 1; build(lson); build(rson);}int query(int x... 阅读全文
posted @ 2015-01-28 09:47 fish7 阅读(153) 评论(0) 推荐(0)
摘要:题意:给你N个数,N个数是0~N-1的一个全排列。要求统计它的所有形式的逆序对的最小值。它的所有形式的意思是,不断将数组开头的第一个数放到数组的最后面。逆序对:iaj思路:树状数组也可以,,看代码代码:const int maxn = 50005;int sum[maxn> 1; build(... 阅读全文
posted @ 2015-01-25 18:32 fish7 阅读(106) 评论(0) 推荐(0)
摘要:题意:N个成绩。M个操作。Q a b:查询第a个到第b个成绩中最高成绩U a b:将第a个成绩改成b思路:看代码,,代码:const int maxn = 200010;int maxs[maxn> 1; build(lson); build(rson); PushUp(rt);}... 阅读全文
posted @ 2015-01-25 18:09 fish7 阅读(100) 评论(0) 推荐(0)
摘要:题意:N个工兵营地。工兵营地里的人数分别为:a1,a2,....aNAdd i,j:第i个工兵营地里增加j人Sub i,j:第i个工兵营地里减少j人Query i,j:查询第i个第j个工兵营地共有多少人思路:线段树、树状数组都可以做,看代码代码:线段树:const int maxn = 50005;... 阅读全文
posted @ 2015-01-25 18:02 fish7 阅读(112) 评论(0) 推荐(0)
摘要:题意:人类基因由A、C、G、T组成。有一张5*5的基因表。每格有一个值,叫相似度。例:A-C:-3。意思是如果A和C配对, 则它俩的相似度是-3【P.S.:-和-没有相似度,即-和-不能配对】现在给两条基因片段。(长度不一定相等)现在你要在两条基因片段中插入若干个-(空白基因),使得两个基因片段长度... 阅读全文
posted @ 2015-01-25 11:55 fish7 阅读(131) 评论(0) 推荐(0)
摘要:题意:给三个字符串str1、str2、str3问str1和str2能否拼接成str3。(拼接的意思可以互相穿插)能输出YES否则输出NO。思路:如果str3是由str1和str2拼接而成,str1的前i个字符和str2的前j个字符一定构成str3的前i+j个字符。(因为拼接必须保证字符的顺序不变)所... 阅读全文
posted @ 2015-01-25 11:43 fish7 阅读(96) 评论(0) 推荐(0)
摘要:题意:有N(N>T; while(T--){ scanf("%d",&n); rep(i,1,n){ scanf("%s%d%d",work[i].name,&work[i].deadline,&work[i].days); } ... 阅读全文
posted @ 2015-01-25 11:29 fish7 阅读(133) 评论(0) 推荐(0)
摘要:题意:有一个工程需要N个月才能完成。(nk){ dd=(j-k)*hire; }else{ dd=(k-j)*fire; } ... 阅读全文
posted @ 2015-01-25 11:11 fish7 阅读(96) 评论(0) 推荐(0)
摘要:N*N的矩阵,每个格子上有一个值。老鼠起始在(1,1),每次只能水平着走或垂直着走。且最多只能走K步。且走到的格子里的值必须比上一次呆的格子里的值大。问老鼠最多收集到多少值。思路:记忆搜好写、方便。注意边界代码:int n,k;int a[105][105];int dp[105][105];int... 阅读全文
posted @ 2015-01-25 10:49 fish7 阅读(132) 评论(0) 推荐(0)
摘要:题意:FatMouse believes that the fatter a mouse is, the faster it runs. To disprove this, you want to take the data on a collection of mice and put as la... 阅读全文
posted @ 2015-01-25 10:05 fish7 阅读(189) 评论(0) 推荐(0)
摘要:题意:N个作业,每个作业有个deadline。每个作业完成耗时一天。如果某个作业没在deadline前完成,则要扣去一定的分数。给出N个要扣除的分数score[1]....score[N]。如何安排使得扣分最少?求最少扣分。思路:按扣分多少从大到小排序,然后一个一个放到各自的deadline前的某个... 阅读全文
posted @ 2015-01-24 23:33 fish7 阅读(180) 评论(0) 推荐(0)
摘要:题意:For each three prime numbers p1, p2 and p3, let's define Hamming sequence Hi(p1, p2, p3), i=1, ... as containing in increasing order all the natura... 阅读全文
posted @ 2015-01-24 22:37 fish7 阅读(240) 评论(0) 推荐(0)
摘要:题意:一个数的质因子如果只是2,3,5,7中的若干个。则这个数叫做humble number。例如:1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 12, 14, 15, 16, 18, 20, 21, 24, 25, 27, ...给n,问第n个humble number是多少。思路... 阅读全文
posted @ 2015-01-24 22:29 fish7 阅读(157) 评论(0) 推荐(0)
摘要:题意:两个字符串,判断最长公共子序列的长度。思路:直接看代码,,注意边界处理代码:char s1[505], s2[505];int dp[505][505];int main(){ while(scanf("%s%s",s1,s2)!=EOF){ int l1=strlen(s... 阅读全文
posted @ 2015-01-24 22:03 fish7 阅读(123) 评论(0) 推荐(0)
摘要:题意:M*N的矩阵,每个格子上有一个值。规则:如果你拾起了某个格子(i,j)上的值,那么第i-1行、第i+1行、(i,j-1)格子上、(i,j+1)格子上的值都不能取。问最多可以取得多少值(最大值)。思路:如果某行取了某一个值,则它的前一行和后一行都不能取。所以我们必须知道这行可以取得的最大值是多少... 阅读全文
posted @ 2015-01-24 21:53 fish7 阅读(109) 评论(0) 推荐(0)
摘要:题意:N*M的矩阵,每个格中不是0就是1。可以任意交换某两列。最后得到一个新矩阵。问可以得到的最大的子矩形面积是多少(这个子矩形必须全是1)。思路:先统计,a[i][j]记录从第i行第j列格往上连续的0的个数。枚举每一行作为答案子矩阵的底, 然后将这一行的a[i][j]从大到小排序,扫一遍计算。看代... 阅读全文
posted @ 2015-01-24 14:22 fish7 阅读(134) 评论(0) 推荐(0)
摘要:题意:最少需要多少个拦截系统才能将所有的导弹拦截下来。思路:第1枚导弹一定需要第一个拦截系统,第2枚导弹如果比第1个高度高,则需要第二个拦截系统。考虑第i枚导弹,如果前i-1枚导弹的高度都比它小,则需要新的一个拦截系统,否则一定只需要之前的某个拦截系统,不需要新开一个拦截系统。原因是:假设最优方案中... 阅读全文
posted @ 2015-01-23 23:14 fish7 阅读(115) 评论(0) 推荐(0)
摘要:题意:都说天上不会掉馅饼,但有一天gameboy正走在回家的小径上,忽然天上掉下大把大把的馅饼。说来gameboy的人品实在是太好了,这馅饼别处都不掉,就掉落在他身旁的10米范围内。馅饼如果掉在了地上当然就不能吃了,所以gameboy马上卸下身上的背包去接。但由于小径两侧都不能站人,所以他只能在小径... 阅读全文
posted @ 2015-01-23 22:01 fish7 阅读(124) 评论(0) 推荐(0)
摘要:题意:杭电搬迁,有N种设备,每种设备有个价值V,数量M,要求将这些设备平分,使得平分后两边的总价值尽可能地相等。输出两边各自的总价值。思路:背包DP后,P=所有的总价值/2,然后从P开始往两边找到第一个满足的价值。可以降维,但是要注意for循环的顺序。看代码。代码:int v[55], m[55];... 阅读全文
posted @ 2015-01-23 21:45 fish7 阅读(138) 评论(0) 推荐(0)
摘要:题意:N(不超过30)种木块,每种木块有长、宽、高x,y,z。木块A可以搭在木块B上当且仅当A的底面长和宽都分别小于B的顶面的长与宽,即不能有超出B的部分。问垒起来的“木块塔”的最大高度。思路:每种木块有6种形态,所以总共有6*N种木块,列张二维关系表,然后记忆搜。代码:struct node{ ... 阅读全文
posted @ 2015-01-23 21:33 fish7 阅读(150) 评论(0) 推荐(0)
摘要:题意:有N元经费,M种大米,每种大米有单袋价格p元,单袋重量h,以及对应袋数c。问最多可以买多重的大米。思路:经典多重背包,用二进制的方法。看代码代码:struct node{ int price,weight,num;}obj[105];int dp[105];int n,m;void Mu... 阅读全文
posted @ 2015-01-23 21:14 fish7 阅读(108) 评论(0) 推荐(0)
摘要:题意:M*N的格子构成的城市,每一个格子上不是F就是R,F代表Free,表示这个格子可以使用,R代表不可以使用。要求:在这里面找到一个矩形,使得面积是最大的。(即必须满足覆盖矩形的每一个格子都是F)输入:M,N0 && a[x][i]>T; while(T--){ scanf("... 阅读全文
posted @ 2015-01-17 00:23 fish7 阅读(245) 评论(0) 推荐(0)
摘要:题意:有一个柱状图,有N条柱子。每一条柱子宽度都为1,长度为h1...hN。在这N条柱子所构成的区域中找到一个最大面积,每平方米3块钱,问最多赚多少钱。输入:1>n,n){ mem(leftt,0); mem(rightt,0); rep(i,1,n){ ... 阅读全文
posted @ 2015-01-17 00:13 fish7 阅读(141) 评论(0) 推荐(0)
摘要:题意:现有公园游船租赁处请你编写一个租船管理系统。当游客租船时,管理员输入船号并按下S键,系统开始计时;当游客还船时,管理员输入船号并按下E键,系统结束计时。船号为不超过100的正整数。当管理员将0作为船号输入时,表示一天租船工作结束,系统应输出当天的游客租船次数和平均租船时间。注意:由于线路偶尔会... 阅读全文
posted @ 2015-01-16 23:57 fish7 阅读(622) 评论(0) 推荐(0)
摘要:题意:有一个圆圆的毯,被平均分成三个扇形。分为标记为A,B,C。小余从A开始跳,每次可跳到相邻的扇形上。(A->B 或 A->C)问小余跳n次,最后回到扇形A的方案数是多少。思路:A,B,C是三个状态。我们画一棵生长的树,一层一层下来,然后发现每一层上其实最多就只有三种状态。所以明显是可以用DP解喽... 阅读全文
posted @ 2015-01-16 23:54 fish7 阅读(285) 评论(0) 推荐(1)
摘要:题意:小余玩游戏,离最后一级还需n的经验值,但是他已经很厌烦了,还剩下m的忍耐度。每杀一只怪小余会得到相应的经验,同时减掉相应的忍耐度。当忍耐度降到0或者0以下时,小余就不会再玩这个游戏。小余还说他最多杀s只怪。求小余升完最后一级能保留的最大忍耐度。如果无法升完最后一级则输出-1。输入:n, m, ... 阅读全文
posted @ 2015-01-16 23:47 fish7 阅读(154) 评论(0) 推荐(0)
摘要:题意:有N个志愿者。指挥部需要将他们分成若干组,但要求每个组的人数必须为素数。问不同的方案总共有多少。(N个志愿者无差别,即每个组的惟一标识是:人数)思路:假设N个人可分为K组,将这K组的人数从小到大排序,num1,...,numk。故N个人分组的方案数dp[n]=sum(dp[numk]) (所有... 阅读全文
posted @ 2015-01-16 23:16 fish7 阅读(131) 评论(0) 推荐(0)
摘要:题意:N*3的教室,有2种砖,2*2、1*1。问铺设教室的方案有多少种。(要铺满)思路:画一下图可以很快发现递推公式代码:int main(){ int a[35]; mem(a,0); a[1]=1, a[2] = 3; rep(i,3,30){ a[i] =... 阅读全文
posted @ 2015-01-16 23:06 fish7 阅读(116) 评论(0) 推荐(0)
摘要:题意给Y值,找到多项式 8*x^4 + 7*x^3 + 2*x^2 + 3*x + 6 == Y 在0到100之间的解。思路从0到100,多项式是单调的,故用二分法求解。代码double calc(double x){ return 8*x*x*x*x+7*x*x*x+2*x*x+3*x+6;... 阅读全文
posted @ 2015-01-16 23:01 fish7 阅读(152) 评论(0) 推荐(0)
摘要:题意:N个人,每个人AC的题数都不一样。Eddy想从中选出一部分人(或者全部)分成两组。必须满足第一组中的最小AC数大于第二组中的最大AC数。问共有多少种不同的选择方案。思路:简单数学。。代码:ll C(int n,int x){ ll ans=1; rep(i,1,x){ ... 阅读全文
posted @ 2015-01-16 22:57 fish7 阅读(227) 评论(0) 推荐(0)
摘要:题意:阿波上了飞机,飞机上有座位1,2,....,N。第i个乘客本应坐在第i个座位上。可是阿波随便找了个座位就坐了下来,接下来大家也都随便找了个座位坐了下来。问:第i个乘客坐到原座位的概率是多少。输入:n和m。共有n个乘客,问第m个乘客坐到原座位的概率是多少。思路:实质上就是N个人随便坐,问第M个人... 阅读全文
posted @ 2015-01-16 22:47 fish7 阅读(160) 评论(0) 推荐(0)
摘要:题意:M*N的grid,每个格上有一个整数。小明从左上角(1,1)打算走到右下角(M,N)。每次可以向下走一格,或向右走一格,或向右走到当前所在列的倍数的列的位置上。即:若当前位置是(i,j),可以走到(i,k*j)问取走的最大和是多少。思路:水DP。。。边界的初始化要考虑。(因为有负数)。代码:i... 阅读全文
posted @ 2015-01-16 22:35 fish7 阅读(124) 评论(0) 推荐(0)
摘要:题意:小偷去抢银行,他母亲很担心。他母亲希望他被抓的概率真不超过P。小偷打算去抢N个银行,每个银行有两个值Mi、Pi,Mi:抢第i个银行所获得的财产 Pi:抢第i个银行被抓的概率求最多能抢得多少财产。思路:由于概率不是整数,所以不能将其作为背包容量。继续观察,发现Mi是整数,调整思路可发现,可以将... 阅读全文
posted @ 2015-01-16 22:29 fish7 阅读(135) 评论(0) 推荐(0)
摘要:System.Drawing命名空间提供了对GDI+基本图形功能的访问,其中一些子命名空间中提供了更高级的功能。GDI+由GDI发展而来,是Windows图形显示程序与实际物理设备之间的桥梁。GDI+是GDI的增强版,主要提供以下三类服务:1)二维矢量图形:GDI+提供了存储图形基元自身信息的类(或... 阅读全文
posted @ 2015-01-01 03:59 fish7 阅读(284) 评论(0) 推荐(0)