USACO刷题记录

找点题写。
每天更新一次

有些是以前写过的,就不说了,从beads开始。

beads

就是枚举环上的每一个位置,然后分别从两头数,记一下个数,每次用个数更新答案就好了。

milk2

首先排个序,然后那两个变量bg,ed记录最多连续。每次接不上的时候,就拿ed-bg去更新ans1,同时如果下一个区间的左端点值是x,就拿x-ed更新ans2就可以了。输出的时候要防止所有的区间都连在一起。大概就是printf("%d %d\n",max(ans1,ed-bg),ans2);

transform

多码几行代码就行了,记住相同功能一定要写成一个函数。

然后顺时针旋转九十度的话大概这样写

其中st是要反转的数组,t2是个临时数组

其他都很好写了

namenum

读入可以先重定向stdin和stdout到namenum.in和namenum.out里面,然后搞个ifstream fin("dict.txt");

首先把dict.txt里面的所有字符串扔到一个map<string,bool>里,然后dfs每个位置选哪个字母,选完了判断是否存在就行。

palsquare

取d=log(b,90000)+1,预处理b的1~d次方,然后就对每个i,把i*i转变为b进制,最后check一下是不是回文就行了

把x转换为b进制这样写(pw[i]是预处理的b^i)

猜你喜欢

转载自www.cnblogs.com/Saudi/p/12531847.html
今日推荐