自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 [牛客算法竞赛入门课第九节习题] 连续区间的最大公约数 线段树区间合并

题目链接:连续区间的最大公约数 时隔一个月,终于抽时间解决了这个问题,真的不容易,在此膜拜那些写这些题的巨佬,没有他们,可能我一辈子都无法解出此题。~.~题意给你n个数a1,a2,....,an{a_1,a_2,....,a_n}a1​,a2​,....,an​,有q次询问,每次询问一个区间[l,r]的gcd(al,al+1,al+2,....,ar){gcd(a_l,a_{l+1},a_{l+2},....,a_r)}gcd(al​,al+1​,al+2​,....,ar​)以及该区间有多少个子区间

2020-09-24 23:29:50 376

原创 [2020中国大学生程序设计竞赛(CCPC)-网络选拔赛] 1005 Lunch

题目链接:Lunch题意有n堆石子,每堆石子li{l_i}li​个,现在有两个人轮流进行博弈。博弈规则如下:如果当前一轮中,每一堆的石子全为1,那么该选手输掉比赛。假设有一堆石子数为L,选手可选择L的一个大于等于2的因子K作为新的堆数,然后将该堆分为K堆每堆LK{\frac{L}{K}}KL​个石子。游戏最后每堆石子数全为1,必将有一个人失败。问先手是否会获胜,如果是输出“W”,否则“L”。题解本题很明显是一个Nim博弈的变形,此类问题的解决方法无非SG函数,所以我们可以先分析其后续状态

2020-09-21 22:47:52 1897

原创 [牛客练习赛69] D. 火柴排队 多维dp+逆元+递推求排列组合

题目链接:火柴排队题意给你长度为n的序列a,随即使得k个元素增加d,求增加后的序列ai′{a_i'}ai′​满足:如果ai<aj,那么ai′<aj′{a_i<a_j,那么a_i'<a_j'}ai​<aj​,那么ai′​<aj′​的概率为多少。对于每个1≤K≤n,你要输出每个答案并对998244353取模。题解本题发现n≤5000,并且每个状态都和前一个状态有关系,所以我们可以尝试用dp求解。分析本题,对序列的顺序并无要求,所以可以先对序列排序,这样对一个元素加d

2020-09-12 21:36:48 167

原创 [UVA - 3026] Period kmp失配函数

题目链接:Period题意给定一个长度为n的字符串s,求它每个前缀的循环节。换句话说,对于每个i(2≤i≤n),求一个最大的整数k>1(如果k存在),使得S的前i个字符组成的前缀是由某个字符串重复k次得到的。输出所有存在K的i和对应的K。题解本题如果对MP(未优化的KMP)算法的适配函数稍有了解,就很好解决。失配函数f[i]:状态i失配时应转移到的新状态。其实也可以理解为前(i-1)个字符最长公共真前后缀的个数。那么假如你已经得到了f数组,现在转化成一个问题:给你一个字符串,问这个字符

2020-09-10 22:09:45 153

原创 字典树 Trie 模版

字典树 Trie 模版#include<iostream>#include <sstream>#include<algorithm>#include<cstdio>#include<cstring>#include<bitset>#include<cassert>#include<cctype>#include<cmath>#include<cstdlib>#incl

2020-09-09 21:48:34 109

原创 [超级码力在线编程大赛初赛(三)] 房屋染色 前缀和+多维dp

题目链接:房屋染色题意我简化一下题意,给你一个n*k的矩阵,我们从每一行选取一个数使得n行选取这n个数之和最小,对于选取有一个限制,如果连续行选取的数在同一列,最多取t行,剩下相邻的行不能取同一列的数,问最小值是多少。题解由题意得,1≤n,k≤100,本题貌似没有什么贪心策略,看来只能优雅的暴力dp登场了。很明显dp需要三维才能符合本题的操作。定义:dp[i][j][k]:前i行,最后一行选取第j列,此时符合k情况时最小值。(k有两种情况,0代表没有出现连续行选取同一列,1代表已经在连续行选取

2020-09-07 22:02:22 121

原创 [超级码力在线编程大赛初赛(三)] 字符串游戏 反Nim博弈

题目链接:字符串游戏题意现在有一个字符串s,每个人可以选择字符串中的某一个区间和一种字符,删除这个区间内的所有该字符(需要删除字符的数量至少为1)。从Alice开始,Alice与Bob轮流进行进行这个操作,若在某个玩家删除前,字符串已经为空,则该玩家获胜。假设Alice和Bob都会按照其最优的解法删除,Alice想知道,她是否可以获胜。题解我们来分析这道题,这个删除操作其实可以看作至少删除一个同种字符,最多无上限甚至可以全部删除。现在Alice先手,最后删除完的人是输而不是赢。问谁能获胜。看完

2020-09-07 21:15:07 155

原创 2020牛客暑期多校训练营(第三场) E.Two Matchings 构造+dp

题目链接:Two Matchings题意让你构造两个序长为n,列p,q,这两个序列各个位都不相同,并且满足pi≠i且ppi=i{p_i≠i 且p_{p_i} =i}pi​​=i且ppi​​=i。给你一个序列a,可以计算一个值(∑i=1nabs(ai−api))/2{(\sum_{i=1}^{n}abs(a_i-a_{p_i}))/2}(∑i=1n​abs(ai​−api​​))/2,找符合条件的p、q中,计算值之和最小的是多少。题解本题先来分析p、q序列,题目中给出pi≠i且ppi=i{p_i≠i

2020-09-04 16:23:17 100

原创 [2019 第十届蓝桥杯大赛软件类省赛 C/C++ 大学 A 组] E题 欧拉筛+逆元+快速幂

题意题解要求x,需先求e,要求e需要知道p和q的值是多少。由题可知n=p*q,(p,q为素数),那么易得n的唯一分解就是p和q两个数。首先我们打一个1e8{1e8}1e8以内的素数表,看n的唯一分解的较小的那个质数是否在1e8以内。#include<iostream>#include<algorithm>using namespace std;typedef long long ll;const ll mod=1e9+7;const int maxn=1e8

2020-09-02 13:16:23 208 1

原创 catlan数和超级catlan数(施罗德数)

catlan数前言卡特兰数在组合数里很难告诉它是什么?更多的情况是通过大量的例子来告诉你它怎么用。从0开始catlan数的前几项为:1,1,2,5,14,42,132,429,1430,4862,16796,58786,208012,742900,2674440,9694845,35357670,129644790…定义1. 递归定义fn=f0∗fn−1+f1∗fn−2+f2∗fn−3+.....+fn−2∗f1+fn−1∗f0{f_n=f_0*f_{n-1}+f_1*f_{n-2}+f_2*

2020-09-01 12:46:25 813

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除