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. touch事件的分发机制

    作者:谢昆 一段伪代码反应整个touch事件的分发 public boolean dispatchTouchEvent(MotionEvent event) { boolean consume = f ...

  2. Set的非重复判断是根据什么判断的

    HashSet 首先来看下HashSet的add()这个方法的源代码: public boolean add(E e) { return map.put(e, PRESENT)==null; } 由此 ...

  3. 【POJ 1328】 Radar Installation

    [题目链接] http://poj.org/problem?id=1328 [算法] 每个雷达都位于笛卡尔坐标系的x轴上,因此,对于每个岛屿,我们都可以用勾股定理算出它的有效管辖区域 那么,问题就被转 ...

  4. 【转载】深入理解Linux文件系统

      1.rm-rf删除目录里的文件后,为什么可以恢复? 首先创建一个空目录test,目录的blocksize为4096字节 为了空目录还是4096?首先,目录的大小取决它所包含的文件的inode(访问 ...

  5. [Swift通天遁地]三、手势与图表-(3)通过捏合手势放大和缩小图像视图

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  6. async 函数-----------------解决异步操作隧道的亮光

    之前也学过,只是没有学好,公司现在用的都是async函数 , 所以决定把它弄懂.最近看了看阮一峰的博客,做下记录. 异步I/O不就是读取一个文件吗,干嘛要搞得这么复杂?异步编程的最高境界,就是根本不用 ...

  7. JavaScript--innerHTML 属性

    innerHTML 属性用于获取或替换 HTML 元素的内容. 语法: Object.innerHTML 注意: 1.Object是获取的元素对象,如通过document.getElementById ...

  8. 【洛谷3648/BZOJ3675】[APIO2014]序列分割(斜率优化DP)

    题目: 洛谷3648 注:这道题洛谷3648有SPJ,要求输出方案.BZOJ3675数据组数较多但不要求输出方案. 分析: 这可能是我第三次重学斜率优化了--好菜啊 这道题首先一看就是个DP.稍微推一 ...

  9. Java系列学习(一)-JDK下载与安装

    1.Java语言平台版本 J2SE:Java 2 Platform Standard Edition,java平台标准版 J2ME:Java 2 Platform Micro Edition,java ...

  10. 【java基础】java中重载与重写的区别

    重载(Overloading) (1) 方法重载是让类以统一的方式处理不同类型数据的一种手段.多个同名函数同时存在,具有不同的参数个数/类型.重载Overloading是一个类中多态性的一种表现. ( ...