UESTC Summer Team Training #2

来源:互联网 发布:java jdk 1.7 mac下载 编辑:程序博客网 时间:2024/06/01 10:00


比赛地址:http://acm.hust.edu.cn:8080/judge/contest/view.action?cid=9193#overview


今天又垫底了,哭飞了。。。 

从板上可以看到,在A,D,E上坑了太久了,B题方法想到了,自己对题目理解有个地方不对,外加拍码太暼,貌似用了一个小时没有拍对。。

感觉自己中午做题远没有晚上状态好。。。求状态!!!!

题解:

A - A Famous Music Composer

题目简单,题目比较坑,,反正我现在没知道正确的题意是什么

B - A Famous Airport Manager

3*3的格子上有'*','B','G’表示空地,蓝色飞机,绿色飞机,(1,1)位置为起飞台,每次将一架飞机运到(1,1)起飞,问得到多少种不同的字符串。

因为这题case数很多所以不能9!的暴力。

用3进制数X表示地图的状态(0-蓝色飞机,1-表示绿色飞机,2-空地),用01串f表示得到的字符串。

X<3^9=19683,f<256(最多8架飞机)  ,

判断是否可行ok(X,f)=ok(X',f/2);(注意X中的飞机数比X'的飞机数刚好多一)

而答案即为所以f中为true的数量

采用记忆化搜索的速度能够达到比较快。


C - A Famous ICPC Team

四个正方形(不能重叠),求一个最小的正方形能够将其覆盖

答案为:最大的两个正方形的边长和。

证明: (1)无论怎么放,新正方形的边长都要大于两个之和。

       (2)最大的两个正方行挨在一起放,然后在其上各放一个剩下的正方形,显然能够将四个放进来。

        综上:答案正确


D - A Famous Stone Collector

100种颜色的珠子,每种最多100个,问选择一部分数目的珠子的不同排列数

背包

F[k][i+j]+=F[k-1][i]*C[i+j][j]( 0<=j<=第K种珠子的数目)


E - A Famous Equation

a+b=c等式,中间有'?',求满足条件的不同方案数(不能有前导零)。

注意: (1)一位数能够'有前导零'

       (2) 没有问号的等式的方案数为 1

将a,b,c变成位数相同的字符串,从个位开始,t[i][2]表示已经匹配了i位,像i+1位不进位,进位的方案数各是多少。

然后通过枚举i+1上 a[i+1],b[i+1],c[i+1]的取值范围从而得到t[i+1][2]。


F - A Famous King Trip

不会做


G - The Famous ICPC Team Again

没看题,貌似很水的


H - A Famous City

从左到右有n个1*Hi的矩形块,求用最少的矩形将其覆盖完(要保证矩形的高度不超过任意它覆盖矩形的高度)

维护一个严格递增的单调队列,记录途中删去的矩形块的数目(这里好好处理,不是删去的点,都 结果++)

还要注意有0的情况。。


I - Two Famous Companies

听说是一个很奇葩的做法。


J - A Famous Game

不知是题目读错了,还是怎么,百思不得其解,答案始终为0.5为啥错了(会尽快更新这题)


K - A Famous Grid

蛇形矩阵上,找两个数的最小距离。

(1)生成的数目范围比10000大一些。

(2)单纯的BFS,当时我们T了。。可能是数目范围大太多了,改成双向BFS才过

(3)正解:限定BFS中x,y的范围,比给的两个数的x,y的稍稍向外移一些。。就行了


L - The Famous Clock

水题。。