首页 > TAG信息列表 > USACO09MAR

[USACO09MAR]Moon Mooing

嘟嘟嘟   某谷的翻译挺迷的,简单来说就是给一个初值c,然后有两个函数f1 = a1 * x / d1 + b1, f2 = a2 * x / d2 + b2.把c分别带进去,所得的结果也递归带进去,这样的到一串数,输出第n小的。   这道题如果都带进去,然后在排序肯定行不通,因为这一串数不是递增的,不能确定后面多少有比当前

[USACO09MAR]Sand Castle

嘟嘟嘟   太水了,大佬们就绕道吧…… 就是m, b数组分别排个序,然后更改对应位置的m[i]和b[i],就行了。 因为如果m[i]不改为b[i]而是b[i + 1]的话,那么必定要将m[j] (j > i)改为b[i],而这一定比m[i]改为b[i]更劣。 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4

[USACO09MAR]Look Up

嘟嘟嘟   题面说的有点问题,应该是向后看齐。   于是我们维护一个单调递减栈,如果当前a[i]比栈顶元素大,就执行pop操作,然后把pop出来的元素的答案都用 i 更新即可。 1 #include<cstdio> 2 #include<iostream> 3 #include<cmath> 4 #include<algorithm> 5 #include<cstring>

[USACO09MAR]Cow Frisbee Team

 嘟嘟嘟   这个是一个很明显的dp,遇到这种倍数的问题的,就令dp[i][j]表示选到了第 i 只牛(不是选了 i 只牛),sum(Ri) % f == j 的方案数,则,     dp[i][j] = dp[i - 1][j] + dp[i - 1][(j + f - a[i] % f) % f] 等式右边第一项表示第 i 只牛不选,第二项表示第 i 只牛选了,j + f 是为

P2942 [USACO09MAR]Moon哞哞叫Moon Mooing

题目描述 A full moon casts some sort of spell on the cows and, like their cousins the wolves and coyotes, they bay at the moon -- mooing instead of howling, of course. Each 'moo' lasts a certain amount of time. A short 'moo' might last ti

单调队列————[USACO09MAR]向右看齐Look Up

 先了解一下单调队列:    很明显的具有单调性   分为单调递增和单调递减两种,简单点讲就是维护队头为最大值或者为最小值 (建议采用双向队列  比较好写)   具体步骤:(这个是单调递减)      如果队列非空且当前值比队尾元素大,不断删除比该值小的元素,否则直接队尾入队