Codeforces Round #427 (Div. 2)——ABCD
http://codeforces.com/contest/835
A.拼英语水平和手速的签到题
#include <bits/stdc++.h>
using namespace std;
int s, v1, v2, t1, t2;
int main() {
cin >> s >> v1 >> v2 >> t1 >> t2;
int a1 = t1 + v1 * s + t1;
int a2 = t2 + v2 * s + t2;
if(a1 < a2) puts("First");
else if(a1 > a2) puts("Second");
else puts("Friendship");
return ;
}
B.同签到
#include <bits/stdc++.h>
using namespace std;
int k, n, a[];
string s;
long long sum;
int main() {
cin >> k >> s;
for(int i = ;i < s.size();i ++)
a[s[i] - ''] ++, sum += s[i] - '';
if(sum >= k) {
puts("");
return ;
}
k -= sum;
for(int i = ;i < ;i ++)
for(int j = ;j <= a[i];j ++) {
k -= - i, n ++;
if(k <= ) {
printf("%d\n", n);
return ;
}
}
return ;
}
C.看到xyc的数据范围就能明白是道水题...然后就WA了
1W个位置10W个点,可能一个位置好几颗星星...令人无语
#include <bits/stdc++.h>
using namespace std;
vector<int> c[][][];
int n, q, cc, b[][][];
int main() {
scanf("%d %d %d", &n, &q, &cc), cc ++;
for(int u, v, w, i = ;i <= n;i ++) {
scanf("%d %d %d", &u, &v, &w);
c[][u][v].push_back(w);
}
for(int i = ;i < cc;i ++)
for(int j = ;j <= ;j ++)
for(int k = ;k <= ;k ++)
if(c[i - ][j][k].size() != ) {
for(int p = ;p < c[i - ][j][k].size();p ++)
c[i][j][k].push_back((c[i - ][j][k][p] + ) % cc);
}
for(int i = ;i < cc;i ++)
for(int j = ;j <= ;j ++)
for(int k = ;k <= ;k ++) {
b[i][j][k] += b[i][j - ][k] + b[i][j][k - ] - b[i][j - ][k - ];
for(int p = ;p < c[i][j][k].size();p ++)
b[i][j][k] += c[i][j][k][p];
}
for(int t, A, B, C, D, i = ;i <= q;i ++) {
scanf("%d %d %d %d %d", &t, &A, &B, &C, &D);
t %= cc, printf("%d\n", b[t][C][D] + b[t][A - ][B - ] - b[t][A - ][D] - b[t][C][B - ]);
}
return ;
}
如果没有亮度变化,坐标到1e9,会有新的星星在某个位置出现,询问不变
允许离线的话可以CDQ分治解决,O(nlog^2n)
强制在线的话可以树状数组套主席树,时间复杂度相同,常数略大,空间O(nlogn)
当然这个模型感觉都快被写烂了...
D.注意到1阶回文是普通回文
而k阶回文决定了它一定也是回文,而且它也是1...k-1阶回文
想清楚了它的性质,就是个区间DP了
import java.util.Scanner;
public class D {
public static void main(String []args) {
Scanner cin = new Scanner(System.in);
int[][] dp = new int[5005][5005];
int[] ans = new int[5005];
String s = cin.nextLine();
int n = s.length();
for(int d = 1;d <= n;d ++)
for(int i = 0;i + d - 1< n;i ++) {
int j = i + d - 1;
if(d < 3) dp[i][j] = (s.charAt(i) == s.charAt(j) ? d : 0);
else if(s.charAt(i) != s.charAt(j) || dp[i + 1][j - 1] == 0) dp[i][j] = 0;
else if(s.charAt(i) == s.charAt((i + j - 1) / 2)) dp[i][j] = dp[i][(i + j - 1) / 2] + 1;
else dp[i][j] = 1;
ans[dp[i][j]] ++;
}
for(int i = n - 1;i > 0;i --)
ans[i] += ans[i + 1];
for(int i = 1;i <= n;i ++)
System.out.printf("%d ", ans[i]);
}
}
Codeforces Round #427 (Div. 2)——ABCD的更多相关文章
- Codeforces Round #258 (Div. 2)[ABCD]
Codeforces Round #258 (Div. 2)[ABCD] ACM 题目地址:Codeforces Round #258 (Div. 2) A - Game With Sticks 题意 ...
- CodeForces 835C - Star sky | Codeforces Round #427 (Div. 2)
s <= c是最骚的,数组在那一维开了10,第八组样例直接爆了- - /* CodeForces 835C - Star sky [ 前缀和,容斥 ] | Codeforces Round #4 ...
- CodeForces 835D - Palindromic characteristics | Codeforces Round #427 (Div. 2)
证明在Tutorial的评论版里 /* CodeForces 835D - Palindromic characteristics [ 分析,DP ] | Codeforces Round #427 ...
- Codeforces Round #354 (Div. 2) ABCD
Codeforces Round #354 (Div. 2) Problems # Name A Nicholas and Permutation standard input/out ...
- Codeforces Round #268 (Div. 2) ABCD
CF469 Codeforces Round #268 (Div. 2) http://codeforces.com/contest/469 开学了,时间少,水题就不写题解了,不水的题也不写这么详细了 ...
- Codeforces Round #449 (Div. 2)ABCD
又掉分了0 0. A. Scarborough Fair time limit per test 2 seconds memory limit per test 256 megabytes input ...
- Codeforces Round #143 (Div. 2) (ABCD 思维场)
题目连链接:http://codeforces.com/contest/231 A. Team time limit per test:2 seconds memory limit per test: ...
- Codeforces Round #248 (Div. 2) (ABCD解决问题的方法)
比赛链接:http://codeforces.com/contest/433 A. Kitahara Haruki's Gift time limit per test:1 second memory ...
- Codeforces Round #427 (Div. 2) Problem D Palindromic characteristics (Codeforces 835D) - 记忆化搜索
Palindromic characteristics of string s with length |s| is a sequence of |s| integers, where k-th nu ...
随机推荐
- Android之仿今日头条顶部导航栏效果
随着时间的推移现在的软件要求显示的内容越来越多,所以要在小的屏幕上能够更好的显示更多的内容,首先我们会想到底部菜单栏,但是有时候像今日头条新闻客户端要显示的内容太多,而且又想在主界面全部显示出来,所以 ...
- WPF,Silverlight与XAML读书笔记(3) - 标记扩展
hystar的.Net世界 博客园 首页 新闻 新随笔 联系 管理 订阅 随笔- 103 文章- 0 评论- 107 WPF,Silverlight与XAML读书笔记(3) - 标记扩展 说 ...
- bzoj4403 序列统计——组合数学
题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4403 一开始想了个 O(n) 的做法,不行啊... O(n)想法是这样的:先考虑递推,设 f ...
- Nginx的alias与root的用法区别和location匹配规则
1.alias与root的用法区别 最基本的区别:alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录. location /abc/ { ...
- bzoj1036 树的统计(树链剖分+线段树)
1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 15120 Solved: 6141[Submit ...
- BZOJ 4867 分块+神tm卡常
思路: 注意到len<=10 按照权值max-min<=sqrt(n)*len 分块 记一下前缀和 每修改sqrt(n)次以后重新分块 修改的时候整块打标记 两边重构 (这题常数卡 ...
- Linux命令(005) -- kill、pkill和killall的比较
kill命令用来“杀掉”指定进程PID的进程.终止一个前台进程可以使用Ctrl+C,终止一个后台进程就须用kill命令.kill命令是通过向进程发送指定的信号来结束相应进程的.在默认情况下,kill命 ...
- <assert.h>
Diagnostics 定义宏: void assert (scalar-expression); 若expression为0,则打印出错信息(类似Assertion failed: expressi ...
- Android 获取android安装apk框的安装状态(如点击取消、返回)
最近鼓捣android,碰到个问题,因为没有root权限,需要调用Intent安装apk,但需要获取用户是否安装了(如,用户点击了返回或取消),查了很多文章,最后可以解决,但有瑕疵,解决方法如下: p ...
- Kotlin实例----android5.0新特性之palette
一.Palette的使用 使用Palette可以让我们从一张图片中拾取颜色,将拾取到的颜色赋予ActionBar,StatusBar以及UI背景色可以让界面色调实现统一或者加载不同图片时同步变化色调 ...