【CODEFORCES】 C. Dreamoon and Strings】的更多相关文章

C. Dreamoon and Strings time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Dreamoon has a string s and a pattern string p. He first removes exactly x characters from s obtaining string s' as a…
[题目]D. Picking Strings [题意]给定只含'A','B','C'的字符串,支持以下变换:1.A - BC   2.B - AC   3.C - AB   4.AAA - empty string(左边变成右边) 给定S串和T串,q次询问,每次给出S串的一个子串x和T串的一个子串y,求x是否能变到y.n,m,q<=10^5. [算法]模拟??? [题解]观察一些规律,首先B和C等价:B-AC-AAB-AAAC-C. 然后B前面的A可以消除:AB-AAC-AAAB-B. 所以新的…
A. Dreamoon and Sums time limit per test 1.5 seconds memory limit per test 256 megabytes input standard input output standard output Dreamoon loves summing up something for no reason. One day he obtains two integers a and b occasionally. He wants to…
B. Dreamoon and Sets time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Dreamoon likes to play with sets, integers and .  is defined as the largest positive integer that divides both a and b.…
[Codeforces]Round #491 (Div. 2) 总结 这次尴尬了,D题fst,E没有做出来.... 不过还好,rating只掉了30,总体来说比较不稳,下次加油 A:If at first you don't succeed- SB题,就是注意一下特判就好了,然后我一开始wa了三次... #include<bits/stdc++.h> using namespace std; int read(){ int ans=0,w=1;char c=getchar(); while(!…
[Codeforces]Round #488 (Div. 2) 总结 比较僵硬的一场,还是手速不够,但是作为正式成为竞赛生的第一场比赛还是比较圆满的,起码没有FST,A掉ABCD,总排82,怒涨rating两百 A:Fingerprints A题,就在第一个串中查找第二个串中的数字,最气的是一开始没编译直接交CE了,噗 #include<iostream> #include<cstdio> using namespace std; int read(){ int ans=0,w=1…
[A]Protect Sheep 题意: 一个\(R*C\)的牧场中有一些羊和一些狼,如果狼在羊旁边就会把羊吃掉. 可以在空地上放狗,狼不能通过有狗的地方,狼的行走是四联通的. 问是否能够保护所有的羊不被狼吃掉,如果能输出方案. 题解: 判断是否有羊的旁边有狼,有的话就-1.没有的话把所有空地换成狗就好. #include<bits/stdc++.h> #define F(i,a,b) for(int i=a;i<=(b);++i) #define F2(i,a,b) for(int i…
[题目]D. Acyclic Organic Compounds [题意]给定一棵带点权树,每个点有一个字符,定义一个结点的字符串数为往下延伸能得到的不重复字符串数,求min(点权+字符串数),n<=300000,time=3s. [算法]trie合并||hash+线段树合并||dsu on tree [题解]维护每个节点的Trie,那么每个节点的不重复字符串数是Trie的节点数. 每个节点Tire的根设为这个节点的字符(不是空字符). 这样Trie的合并就很方便了,merge(a,b)表示将b…
[算法]模拟 [题意]http://codeforces.com/contest/849/problem/D 给定n个点从x轴或y轴的位置p时间t出发,相遇后按对方路径走,问每个数字撞到墙的位置.(还是乖乖啃原题意去吧233) [题解] 两个数会相撞,当且仅当xi+tj=xj+ti,即xi-ti=xj-tj.令di=xi-ti,则只有di相同的一堆数会相撞. 观察相撞规律,容易发现处理方式.处理出一堆相同的数字后,x从大到小再y从小到大放入A,y从小到大再x从大到小放入B,然后A对应从B中取位置…
[题目]E. NN country [题意]给定n个点的树和m条链,q次询问一条链(a,b)最少被多少条给定的链覆盖.\(n,m,q \leq 2*10^5\). [算法]树上倍增+二维数点(树状数组) 先从半链角度考虑.将每条给定链和每个询问拆成向上的一段和向下的一段.那么假设询问的半链最低端节点为x,贪心地选择x子树内向上延伸最远的给定半链(假设最高点为y),再从y继续贪心直至超过半链最顶端节点.再只考虑半链的前提下贪心显然正确. 但是我们注意到,这样贪心的复杂度是不正确的,因为如果每次只跳…