![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
思维
wookaikaiko
这个作者很懒,什么都没留下…
展开
-
Codeforces Round #469 (Div. 2)——C. Zebras
点击打开原题链接 题意:给你一个只由0和1组成的字符串,求能分成多少个由0开头0结尾并且中间01交替排列的子序列。这里题意需要注意的是,如果原字符串中由1开头或由1结尾是不合法的,如果有两个1挨着也是不合法的。 题解:由于要求输出的是每个子序列的长度以及其中数字在原字符串的位置,所以可以考虑用vector的二维数组储存分成的每个序列的元素的下标,每个一维的大小就是序列的长度。要分成的序列一定是...原创 2018-07-16 11:20:18 · 248 阅读 · 0 评论 -
Codeforces Round #469 (Div. 2) ——D. A Leapfrog in the Array
题意:1~n的数按顺序间隔排列,(1 2 3 4 ... n) 中间的空格也要占一位,现在有一种操作,每次把序列最后面那个数移到离它最近的空格里面,直到前n个位置都被填满,没有空格了。给出q次查询,每次输入一个数 Xi,要求输出按照所给操作完成后的Xi位置上的数是多少。 题解:题目上给的数据范围超级大(1e18),所以肯定是不能模拟的,一定有什么规律在里面。首先很容易发现,不是根本不用...原创 2018-07-16 19:59:53 · 172 阅读 · 0 评论 -
51nod 1677——treecnt
题意:给你n个结点,n-1条边,要从这n个结点里面选出k个结点,再选出最少边使这些结点之间相互连通,问对于所有选择k个结点的最小选择边数的总和是多少。 题解:因为每次选k个点其实是固定了的,所以撇开要确定的边,每次要选的k个点就是一个组合数问题,那怎么把点和边联系起来呢?对于任意一条边,它要不要被选入作为连接点的边是由它两边的点决定的。当只有这条边左边或者右边的点被选入时,这条边是不需要的,只有...原创 2018-07-17 10:39:52 · 139 阅读 · 0 评论 -
牛客多校第三场
H.Diff-prime Pairs 题意:给一个数n,求1~n有多少对数满足 和 都是质数,当 i1 ≠ i2 or j1 ≠ j2时(i1, j1) 和 (i2, j2)看做不同的一对数。 题解:首先,两个质数的最大公约数是1,那么除以1以后是自己本身依然也是一个质数,所以任意两个质数之间都是满足要求的,这里得到了第一部分答案,假设1~n有num个质数,ans1=C( num,2)。那...原创 2018-07-26 21:00:42 · 187 阅读 · 0 评论 -
HDU 6138——Fleet of the Eternal Throne(AC自动机)
题意:给出n个字符串,m次查询,每次查询给两个字符串的编号,输出满足是其它字符串的前缀(一个就行)的这两个字符串的最长公共子串的长度。题意是比较简单易懂了。 题解:首先多个字符串又牵涉到匹配找公共子串的问题,就应该考虑AC自动机了,但这道题的问题不只是找最长公共子串,还要求这个子串是其它字符串的前缀。这里可以利用ac自动机fail指针的特点,回忆一下,fail指针是怎么来的,在trie树上查找单...原创 2018-07-22 16:44:55 · 177 阅读 · 0 评论 -
hdu——6319- Ascending Rating
6319- Ascending Rating 题意:有一个长度为n的数字序列,只给出前k项,后n-k项由给出的公式从前一项计算出,求每个长度为m的区间中的最大值和以区间第一个数开头的上升序列的长度与区间第一个数的位置下标的异或值的和分别是多少?通俗的讲,主要就是求区间最大值和固定起点的区间上升序列的长度。 题解:本题考虑从后面往前面用滑动窗口加双向队列求解。从最后一个开始,如果当前的数比它后面...原创 2018-07-31 11:37:11 · 203 阅读 · 0 评论 -
牛客多校第三场——E.Sort String
题意:给一个字符串S,定义一种操作为:从字符串首位置(0)开始将S0~Si的字符移到末尾得到一个新的字符串,直到每一个位置都遍历完成,如: abab—> (0开始)abab —>(0~1位置) baba —>(0~2位置) abab —>(0~3位置)baba 所有得到的新的字符串从0~n编号,然后将完全一样的字符串分到一个组里面,要求输出有几个组,和每个组里面有几个字...原创 2018-07-28 10:18:58 · 243 阅读 · 0 评论 -
HDU6357——Hills And Valleys
点击打开原题目 题意:给一串由n个数字组成的字符串,选择其中一个区间进行翻转,要求翻转后该字符串的最长非降子序列长度最长,输出这个最长非降子序列的长度以及翻转的区间的左右端点。 题解:由于n的大小为1e5,如果直接枚举a中的翻转位置的话,那么复杂度肯定不行,但是这里有一种十分巧妙的做法。首先如果是求一个只有数字的串中的最长上升子序列长度的话,那就是这个串与 "0123456789" 这个串的最...原创 2018-08-12 11:28:05 · 491 阅读 · 0 评论