“明明说好的已弃ACM了么?”
“然而看到水题根本控制不住双手T^T…正好c语言考试马上要来了, 没事刷刷水题”
tyvj是不兹词Chrome了么..登录不上, 于是手动评测(AC滑稽脸), 发现AC不了的话千万不要来找我(逃)
题目
http://www.tyvj.cn/p/1023
http://www.tyvj.cn/p/1024
考前最后一周即将降临~
题解
1023
这种破题最近做起来手感真心弱了好多好多T T
还得看一眼解答才能AC…捂脸
转移方程:
f(i, j) = f(i−1, j−1) + Di f(i, 0) = max{f(i−j, j)}
答案:
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
int n, m;
int d[2005], f[2005][505];//f[i][j]第i分钟结束剩下j疲劳值的最大距离
//f[i][j] = f[i - 1][j - 1] + Di;
//f[i][0] = max(f[i - j][j])
int i, j;
int main(){
scanf("%d%d", &n, &m);
for(i = 1; i <= n; ++i)
scanf("%d", &d[i]);
for(i = 1; i <= n; ++i){
f[i][0] = f[i - 1][0];
for(j = 1; j <= m; ++j){
f[i][j] = f[i - 1][j - 1] + d[i];
if(j <= i)f[i][0] = max(f[i][0], f[i - j][j]);
}
}
printf("%d\n", f[n][0]);
return 0;
}
1024
这个题号是一个整数!
这破题纯粹是耗时间用的, 题目本身没难度就是理解起来坑爹呐。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
char p[27];
char s[260];
int i, j;
int mat(char c){
for(j = 1; j <= 26; ++j)
if(c == p[j])
return j;
}
int main()
{
scanf("%s", p + 1);
while(scanf("%s", s + 1) != EOF){
int cnt = 0;
for(i = 1; s[i] != '\0'; ++i){
cnt ++;
if(mat(s[i + 1]) < mat(s[i]))
break;
}
printf("%d", cnt);
}
printf("\n");
return 0;
}