题目大意 T组数据,每组给定一个字符串 s 求一个 最长的 字符串 t ,满足: 1. t 是一个 回文串 2. t = a+b , a是字符串s的前缀,b是字符串s的后缀 , 为拼接两字符串,ab可能为空串 数据范围 数据组数不超过 1e5 字符串的总共长度不超过 1e6 解题思路 (标准做 ...
分类:
其他好文 时间:
2020-03-20 09:21:17
阅读次数:
60
A. Two Rabbits 题意: 求左右两只分别能跳a,b距离的兔子,是否能在同一点,如果能求最短时间。 cpp include using namespace std; string s[101]; int p[101]; string ans; int main(){ int t,n; ci ...
分类:
其他好文 时间:
2020-03-18 15:25:59
阅读次数:
61
MMP,差一点就做对了。 题目大意:给你一个树,对这个树的边进行编号,编号要求从0到n-1,不可重复,要求MEX(U,V)尽可能的小, MEX(x,y)的定义:从x到y的简单路径上,没有出现的最小编号。 题解: 只要让0,1,2这三个号不在同一条路径上就行。 如果说是一条没有分支的树,那么无论怎么编 ...
分类:
其他好文 时间:
2020-03-17 16:52:07
阅读次数:
75
#include <stdio.h> int main() { int n, k; scanf("%d %d\n", &n, &k); int temp; int ans=0, com; int i; for(i=0; i<n; ++i) { scanf("%d", &temp); if(temp> ...
分类:
其他好文 时间:
2020-03-14 14:56:40
阅读次数:
50
题目链接 https://codeforces.com/contest/940/problem/F 题意 给出n个数字,q个询问; 每次询问有两种类型,一种是询问区间,一种是单体修改; 定义Ci为区间里数字 i 出现的次数,求Ci数组的mex ...
分类:
系统相关 时间:
2020-03-11 01:33:28
阅读次数:
94
http://codeforces.com/contest/1312/problem/C题目链接 这道题有许多种解法,在此介绍一种类似题都能通用的方法。相信许多人也最想看这种方法。 在介绍之前,先理解一下当k=2时的情况。 k=2,n=23时 有23=2^4+2^2+2^1+2^0; 这个式子能说明 ...
分类:
其他好文 时间:
2020-03-10 16:01:49
阅读次数:
49
Codeforces 1312E. Array Shrinking 题意: 有一个序列,你可以选择一对相邻的数字$a_i=a_{i+1}$,然后将这两个数字换为$a_i+1$。 问最后最少能留下多少个数字。 思路: 似乎没有好的贪心策略,所以确定是dp应该没问题。 我们设$g(i,j)$表示在区间$ ...
分类:
其他好文 时间:
2020-03-10 11:52:27
阅读次数:
51
这种暴力又可爱的数据结构真的相当讨喜。如果题目中有操作是推平一段区间的话,那么它多半就是一道 ODT 的题。如果题目还保证了数据随机的话,那么恭喜你,ODT 一定可以简单高效的解决这个问题;但如果出题人卡数据的话,ODT 一定会 T 的飞起。 掌握 ODT 的难度是相当小的,只要理解到 split ...
分类:
其他好文 时间:
2020-03-07 13:19:45
阅读次数:
63
A 题意 找出两个合数使得他们差为某给出的数 n 思路 先指定一个小的合数 a ,则 b=a+n 。若 b 是合数,则直接输出。若 b 是素数,则 b+1 一定不是素数。那么选一个 a 使得 a,a+1 均为合数即可。 代码 c++ include using namespace std; type ...
分类:
其他好文 时间:
2020-03-06 23:30:40
阅读次数:
77
题意:给定一个n个点的树,初始每个点的点权都是0,接下来执行m次操作,每次操作在选择一个点u,将u的子树中距离u的距离(与u之间的边数)小于k的点的点权都加上d。 最后询问每个点的点权。 N,M<=3e5 首先这里每次增加点权的点有些奇怪,因为并不一定是完整的一个子树(所以不能直接用DFS序转化成一 ...
分类:
其他好文 时间:
2020-03-04 20:51:17
阅读次数:
52