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的更多相关文章

  1. Codeforces Round #258 (Div. 2)[ABCD]

    Codeforces Round #258 (Div. 2)[ABCD] ACM 题目地址:Codeforces Round #258 (Div. 2) A - Game With Sticks 题意 ...

  2. CodeForces 835C - Star sky | Codeforces Round #427 (Div. 2)

    s <= c是最骚的,数组在那一维开了10,第八组样例直接爆了- - /* CodeForces 835C - Star sky [ 前缀和,容斥 ] | Codeforces Round #4 ...

  3. CodeForces 835D - Palindromic characteristics | Codeforces Round #427 (Div. 2)

    证明在Tutorial的评论版里 /* CodeForces 835D - Palindromic characteristics [ 分析,DP ] | Codeforces Round #427 ...

  4. Codeforces Round #354 (Div. 2) ABCD

    Codeforces Round #354 (Div. 2) Problems     # Name     A Nicholas and Permutation standard input/out ...

  5. Codeforces Round #268 (Div. 2) ABCD

    CF469 Codeforces Round #268 (Div. 2) http://codeforces.com/contest/469 开学了,时间少,水题就不写题解了,不水的题也不写这么详细了 ...

  6. Codeforces Round #449 (Div. 2)ABCD

    又掉分了0 0. A. Scarborough Fair time limit per test 2 seconds memory limit per test 256 megabytes input ...

  7. Codeforces Round #143 (Div. 2) (ABCD 思维场)

    题目连链接:http://codeforces.com/contest/231 A. Team time limit per test:2 seconds memory limit per test: ...

  8. Codeforces Round #248 (Div. 2) (ABCD解决问题的方法)

    比赛链接:http://codeforces.com/contest/433 A. Kitahara Haruki's Gift time limit per test:1 second memory ...

  9. 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 ...

随机推荐

  1. Android之仿今日头条顶部导航栏效果

    随着时间的推移现在的软件要求显示的内容越来越多,所以要在小的屏幕上能够更好的显示更多的内容,首先我们会想到底部菜单栏,但是有时候像今日头条新闻客户端要显示的内容太多,而且又想在主界面全部显示出来,所以 ...

  2. WPF,Silverlight与XAML读书笔记(3) - 标记扩展

    hystar的.Net世界 博客园 首页 新闻 新随笔 联系 管理 订阅 随笔- 103  文章- 0  评论- 107  WPF,Silverlight与XAML读书笔记(3) - 标记扩展   说 ...

  3. bzoj4403 序列统计——组合数学

    题目:https://www.lydsy.com/JudgeOnline/problem.php?id=4403 一开始想了个 O(n) 的做法,不行啊... O(n)想法是这样的:先考虑递推,设 f ...

  4. Nginx的alias与root的用法区别和location匹配规则

    1.alias与root的用法区别 最基本的区别:alias指定的目录是准确的,root是指定目录的上级目录,并且该上级目录要含有location指定名称的同名目录. location /abc/ { ...

  5. bzoj1036 树的统计(树链剖分+线段树)

    1036: [ZJOI2008]树的统计Count Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 15120  Solved: 6141[Submit ...

  6. BZOJ 4867 分块+神tm卡常

    思路: 注意到len<=10 按照权值max-min<=sqrt(n)*len 分块 记一下前缀和  每修改sqrt(n)次以后重新分块   修改的时候整块打标记  两边重构 (这题常数卡 ...

  7. Linux命令(005) -- kill、pkill和killall的比较

    kill命令用来“杀掉”指定进程PID的进程.终止一个前台进程可以使用Ctrl+C,终止一个后台进程就须用kill命令.kill命令是通过向进程发送指定的信号来结束相应进程的.在默认情况下,kill命 ...

  8. <assert.h>

    Diagnostics 定义宏: void assert (scalar-expression); 若expression为0,则打印出错信息(类似Assertion failed: expressi ...

  9. Android 获取android安装apk框的安装状态(如点击取消、返回)

    最近鼓捣android,碰到个问题,因为没有root权限,需要调用Intent安装apk,但需要获取用户是否安装了(如,用户点击了返回或取消),查了很多文章,最后可以解决,但有瑕疵,解决方法如下: p ...

  10. Kotlin实例----android5.0新特性之palette

    一.Palette的使用 使用Palette可以让我们从一张图片中拾取颜色,将拾取到的颜色赋予ActionBar,StatusBar以及UI背景色可以让界面色调实现统一或者加载不同图片时同步变化色调 ...