首页 > 学院 > 开发设计 > 正文

The 10th Zhejiang Provincial Collegiate Programming Contest

2019-11-11 05:24:46
字体:
来源:转载
供稿:网友

题目连接:http://acm.zju.edu.cn/onlinejudge/showContestPRoblems.do?contestId=347

套题是真TM酸爽。193∗47∗887∗29

A applications

英语题 特别复杂的模拟 注意细节 细节 细节 细节 细节 。。。。

B Break Standard Weight

签到题 直接暴力就好了

C Calculate Prime S

理解题意,首先x很明显要求个逆元,因为m不是素数,所以只好用扩展欧几里德求了, 对于S[n] 是很明显的fibonacci数列(S[n]=fib[n+2] ),枚举两个就出来了,别忘了还有空集..

然后就不会了, 最后才知道fibonacci的一个性质

1.gcd(fib(n),fib(m))=fib(gcd(n,m)) 证明:可以通过反证法先证fibonacci数列的任意相邻两项一定互素,然后可证n>mgcd(fib(n),fib(m))=gcd(fib(n−m),fib(m)),递归可求gcd(fib(n),fib(m))=gcd(fib(k),fib(l)),最后k=l,不然继续递归。K是通过展转相减法求出,易证k=gcd(n,m),所以gcd(fib(n),fib(m))=fib(gcd(n,m))

所以只有当 gcd(n,m)=1或2时(fib[1]==fib[2]==1) fib[n]与fib[m]互质 所以若S[n] 要是一个 PrimeS 则n+2必须是一个质数或者4 ,自己画画就知道为什么4是特殊的了 所以构造一个特殊的素数表 P[i] 3 4 5 7 11 13………………. 所以第K个PrimeS 就是fib[P[k]]

还有一个结论: 计算(a/b)%c 其中b能整除a 如果b与c互素,则(a/b)%c=a∗bphi(c)−1 如果b与c不互素,则(a/b)%c=(a%bc)/b 对于b与c互素和不互素都有(a/b)%c=(a%bc)/b成立

就是枚举出能够整除x的PrimeS 用快速幂求取PrimeS 最后计算 就好了 注意下可能会爆int就好了

D Density of Power Network

明白题意让求的是去掉平行线后,线与节点数的比值就好了 签到题 暴力做

E Egg Painting

不会 还找不到题解…

F Friends

这个题比较6 确定题意后,直接暴力加边就好了,直到不能在加边为止

G Give Me Your Hand

看题解是个dp 然而dp废。。。。 来日在补

H Hard to Play

签到题 明白题意直接做就好了,

I In 7-bit

阅读题 明白题意 直接处理就好了

J java Beans

签到题 找环上和最大的长度为k的连续区间, 前缀和处理然后枚举即可.

K Kindergarten Election

题面比较有意思,一群幼儿园同学要投票选个老大,(不能选自己),每个人都有一个心仪的老大目标,然后1号小朋友要当老大,可以拿糖贿赂其他小朋友来确保自己当老大。问1号小朋友最少需要多少个糖果能确保自己当上老大。

枚举加贪心,

枚举1号小朋友当上老大时的票数,然后贪心选择贿赂谁,维护下结果的就行了。

题目不难,就是不好想到枚举,想直接进行贪心,然后就会各种GG

—————————————————————————————-

最后发现这套题是之前省选训练过的题..

总结: 英语读题水平太菜, 模拟水平太差, 代码能力有待加强

思维不够开阔,胆子不够大,至少暴力的想法是有的 但是却不敢写. 写代码的速度可以放慢些,写快了细节上出错率大.


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表