摘要:
题目大意 先给出一个长度为$n$的字符串(以下称为初始字符串),然后还有$q$个询问,每个询问给出一个长度小于$50$的字符串(以下称为询问字符串),判断此字符串是否是初始字符串字符串的子序列。 题目分析 我们可以预处理一个数组$f_{i,j}$,表示后$i$个字符中第$j$个字符第一次出现的位置。 阅读全文
posted @ 2021-08-18 22:03
ssl_lhj
阅读(27)
评论(0)
推荐(0)
摘要:
@ 前言 本蒟刚刚学了基本的康托展开,特在此留下学习笔记。 康托展开是什么? 康托展开就是求在一个特定长度的全排列中,一个特定的排列在全部排列中排第几个。举个例子:如长度为$3$的全部排列为 $1,2,3$ $1,3,2$ $2,1,3$ $2,3,1$ $3,1,2$ $3,2,1$ 所以$1,2 阅读全文
posted @ 2021-08-18 22:03
ssl_lhj
阅读(121)
评论(0)
推荐(0)
摘要:
题目大意 多个询问, 每个询问给出长度为$n$的$2$个序列$a,b$ 每次可以对$1<i<n$的$a_i$进行操作, 操作后,\(a'_i=a_{i-1}+a_{i+1}-a_i\) 问能否通过若干次操作,使得序列$a$变成$b$ 题目分析 移项原式,得 \(a'_i-a_{i-1}=a_{i+1 阅读全文
posted @ 2021-08-18 22:02
ssl_lhj
阅读(20)
评论(0)
推荐(0)
摘要:
@ 前言 在网上看到了很多奇奇怪怪的链表操作,不仅代码多还难以理解,给出的代码还会编译错误(也许只是小编愚钝……),后来找了很多资料,终于找到一种精简的链表,所以写一篇文章来介绍一下。 单链表的的定义 十分简单,只要定义一个头指针,尾指针就好了。 struct node{ int data; nod 阅读全文
posted @ 2021-08-18 22:02
ssl_lhj
阅读(41)
评论(0)
推荐(0)
摘要:
@ 前言 最近几天一直在线段树上面死磕,现在大概弄懂了较简单的线段树(只支持加减法的那种),来这里写篇大约的笔记,等以后学习了更多还会更新。 什么是线段树 线段树是一种二叉树,每个节点都代表一个区间的和(或者最大值等等,可以自己定义。以下用和作为例子)。比如说根节点就代表整个区间的和,下图展示了一棵 阅读全文
posted @ 2021-08-18 22:01
ssl_lhj
阅读(51)
评论(0)
推荐(1)
摘要:
题目大意 给定n,求出所有正整数x,满足小于n,且x^2(%n)=1 将满足的x按从小到大的顺序依次换行输出 题目分析 \(x^2=kn+1\) \(x^2+x-x-1=kn\) \((x+1)(x-1)=kn\) 我们可以分别拆解$k,n$为两个相乘的形式$k=k_1k_2,n=n_1n_2$ 所 阅读全文
posted @ 2021-08-18 22:00
ssl_lhj
阅读(28)
评论(0)
推荐(0)
摘要:
题目大意 给出一个数列,有两种操作: 将某区间每一个数加上$k$ 求出某区间每一个数的和 题目分析 假如暴力模拟,时间复杂度$O(mn)$,最多只能拿七十分。 既然已经是线段树的模板题了,那么正解一定是线段树,直接写线段树就好了。 不会线段树的请看我的另一篇博客数据结构:线段树 时间复杂度$O(ml 阅读全文
posted @ 2021-08-18 22:00
ssl_lhj
阅读(18)
评论(0)
推荐(0)
摘要:
题目大意 若数列A存在位置k,满足 ①i<k,ai<ai+1 ②i>=k,ai>ai+1 则称该数列为单峰数列 给出正整数n,求全排列n中存在多少个单峰数列 题目分析 对于每个$n$, \(ans=2^{n-1}\),为什么我也不知道,暴力的时候找到的规律,用快速幂乘一下真就$AC$了。 \(Cod 阅读全文
posted @ 2021-08-18 21:59
ssl_lhj
阅读(25)
评论(0)
推荐(0)
摘要:
题目大意 $n$个物品,每次去掉一个之后再询问的$01$背包问题。 题目分析 调整事情顺序,把第$i$个去掉的事情放在$n-i+1$个位置上,然后再做一次二维$01$背包,然后输出$f_{m,n} \to f_{m,1}$($f_{i,j}$表示有$i$点精力,做前$j$件事情时能取得的最大值) 因 阅读全文
posted @ 2021-08-18 21:59
ssl_lhj
阅读(26)
评论(0)
推荐(0)
摘要:
题目大意 给出一个长度为$n$的序列$A$描述一个长度为$n$的全排列,$A_i$表示前$i-1$个有多少个比第$i$个数大。 题目分析 从后往前分析,当前$a_i$表示有几个数比当前位置的数大,那么当前应该选择的数一定是剩余数字中第$a_i$大的,暴力模拟匹配,时间复杂度$O(n^2)$,可以过$ 阅读全文
posted @ 2021-08-18 21:58
ssl_lhj
阅读(25)
评论(0)
推荐(0)
摘要:
超级快读模板 #define getcha() (S==T&&(T=(S=fsr)+fread(fsr,1,1<<15,stdin),S==T)?EOF:*S++) char fsr[1<<15],*S=fsr,*T=fsr; inline int read(){ int r(0),w(1);cha 阅读全文
posted @ 2021-08-18 21:58
ssl_lhj
阅读(249)
评论(0)
推荐(0)
摘要:
题目大意 $n$个人排队打饭,假如相邻的人打的菜一样,就会影响彼此用餐的心情。求这个队伍中有人被影响心情的状态数,对$100003$取余。 题目分析 直接求怎么影响心情难度较大,我们可以反道而行之,求不合法的方案数即求有多少种方法可以不影响心情。 第一个人可以随便选,即可以选$m$种菜,后$n-1$ 阅读全文
posted @ 2021-08-18 21:57
ssl_lhj
阅读(29)
评论(0)
推荐(0)