| ||
|
|
2017年数信学院第九届新生程序设计竞赛
|
IF判断一下输出即可。
(一道自欺欺人的水题,还说自己不是签到用的,超时的小伙伴是不是没有写EOF结束了?)
根据题目意思模拟即可,注意一下细节问题。
不断的切割,经过计算(相似三角形的相似比)就可以知道切第i份后剩下的高为sqrt(h*i*h/n)),然后就循环i输出,
注意一下空格。
(BobHuang家里有好多只兔子啊,他切的该有多累,其实我的关注点在这里(删去))
这题也是复杂模拟题,大家看到似乎都不想做,主要考察了STL模板的使用和结构体,根据题意模拟即可。
快速幂和快速乘(不会这两个算法的同学请点击百度)。m^(A-B)%m[k],m[k]表示第K个梅森素数,由于第9个梅森素
数有19位数,相乘已经超过int64了。所以才去快速乘。据说大家不知道2305843009213693951这个数要怎么存,
其实只要a = 2305843009213693951LL 或者 a = (1LL<<61)-1就可以喽。
(有兴趣的同学可以试试大数模拟这题,注:我不知道能不能过)
先算出Superice学姐那一天购物的总金额S,然后满400-50,就减去S/400*50就可以了,需要判断一下是否超过了津贴
的总额,再减去红包的数目,即可。
s=s-((s/400*50)>p?p:(s/400*50))-q;s=s>0?s:0;
(看到这题,就知道Superice学姐应该在双11买了好多东西。)
For循环的题目,就是年份有一点烦。T比N大五倍,所以要预处理。
预处理有3种方式
预处理素数
预处理年份所有的结果
1,2都预处理
(据说anruoxin学长想要卡预处理,可是被我循环水过去了。)
附带我素数判断的代码:
for(int r=3;r*r<=k;r+=2) if(k%r==0)break;
这题对高中没有接触过概率的同学十分的不友好(虽然是我出的)
,然而这题的答案也是一个公式的问题,C(k,n) * (0.5)^n 。
计算C的时候采取杨辉三角的方法进行计算(当然你可以用其他正确的方法,这只是一种)。
这题就是寻找到最大值,最小值,平均数,注意一下算所有数的和时会超出unsigned的范围,开int64就可以的。
(这题还是比较简单的,没做的小伙伴是不是看不懂题目的函数了?)
一道掺杂的数学知识的搜索题,首先被9整除的数有一个性质,各个位数加起来被9整除,然后将所有是陷阱和不是陷
阱的格子用不同字符重新构建一副图,然后搜索即可。(不会搜索的同学,可以百度学习深搜和广搜)
相邻的两位和是素数,1+ 1=2......,2是素数,于是题目就变成了输入一个N,输出N个1。(嗯,就是这样)
(大家有什么更好的想法吗?)
欢迎大家评论提问(吐槽)