考场的SB经验不再分享 case 0: 一道组合计数的水题,具体不再讲可以看以前的相似题 case 1: 很明显的卡特兰计数,我们把长度为n的序列看成01串 关于卡特兰计数的详细的讲解 由此可知我们需要满足从1--n中前缀1的数量不少于前缀0的数量 case 2: 满足可以在坐标轴上移动 设f[i]表示第i步回到原点,我们枚举第j步第一次回到起点 那么f[i]数组里就不会出现重复,这样可以保证正确性 同时要再次用到卡特兰数:    我们发现定义的特殊j是第一次回到起点,但cal中可以多次回到起点…
考场时没有发现性质,用了个前缀和优化暴力,结果写WA了 我们发现其实联通块的个数就是点的个数-边的个数 然后我们需要维护横向上和纵向上的边的前缀和 前缀和的查询形式稍改一下 暴力 1 #include<cstdio> 2 #include<iostream> 3 #include<cstdio> 4 #include<cstring> 5 #include<cmath> 6 #include<algorithm> 7 #include…
大概看了两三个小时的题解,思考量很大,实现简单........ 20分: 明显看出,每个点的贡献是x*(x-1)/2;即组合数C(x,2),从x个线段中选出2个的方案数,显然每次相交贡献为1,n^2枚举相交即可.... 40分: 对于四十分,观察图像发现是实际就是求逆序对..... 1 #include<iostream> 2 #include<cstdio> 3 #include<cmath> 4 #include<cstring> 5 #include&…
T1 随 (rand) dp+矩阵优化+原根 看着题解懵了一晚上加一上午,最后还是看了DeepinC的博客才把暴力码出来,正解看得一知半解,循环矩阵也不太明白,先留坑吧.暴力里用二维矩阵快速幂会tle成20,跟打特判没啥区别. #include<iostream> #include<cstdio> #include<cstring> #define ll long long #define MOD 1000000007 using namespace std; ll n…
Description ​ "全"在十分愉快打工,第0天,给了他一个仅有小写字母构成的长度为N的字符串S0,在之后的第i天里,"全"的工作是将Si−1复制一份到一个新的字符串Si中,在接下来的描述中,我们用Si[j]表示串Si中的第j个字符 然而"全"十分不熟练,在复制的时候他容易出错.比如说在复制Si−1[j]到Si[j]的时候有时他会把Si[j]上的字符写成Si[j−1]Si[j−1],而不是本应被写上去的Si−1[j],更具体一点就是新串中…
一开始看这道博弈题的时候我就用很常规的思路去分析了,首先先手取1或者2个coin后都会使剩下的coin变成线性排列的长条,然后无论双方如何操作都是把该线条分解为若干个子线条而已,即分解为若干个子游戏而已,我想起刘汝佳的大白书上有类似的例题(不过复杂好多),于是便用同样的方法去做了,以sg(x)表示当前连续x个coin的状态的sg函数值,则当从左侧起分别取一个或相邻的两个时,不难得出其后继状态:sg(y)^sg(x-1-y)(0<=y<=(x-1)/2),sg(y)^sg(x-2-y)(0<…
BUAA 724 晴天小猪的神题 题意:中文题,略 题目链接:http://acm.buaa.edu.cn/problem/724/ 思路:对于询问x,y是否在同一区间,可以转换成有没有存在一个区间它的左端点小于等于x,右端点大于等于y 即小于等于x的所有区间的右端点的最大值是否大于y!这就转换成了区间最值问题,可以用线段树动态维护左端点即可 (x,y太大,可先离散化) # include<cstdio> # include<cstring> # include<map>…
4408: [Fjoi 2016]神秘数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 177  Solved: 128[Submit][Status][Discuss] Description 一个可重复数字集合S的神秘数定义为最小的不能被S的子集的和表示的正整数.例如S={1,1,1,4,13}, 1 = 1 2 = 1+1 3 = 1+1+1 4 = 4 5 = 4+1 6 = 4+1+1 7 = 4+1+1+1 8无法表示为集合S的子集的…
[CF913F]Strongly Connected Tournament 题意:有n个人进行如下锦标赛: 1.所有人都和所有其他的人进行一场比赛,其中标号为i的人打赢标号为j的人(i<j)的概率为$p=a\over b$.2.经过过程1后我们相当于得到了一张竞赛图,将图中所有强联通分量缩到一起,可以得到一个链,然后对每个大小>1的强联通分量重复过程1.3.当没有大小>1的强连通分量时锦标赛结束. 现在给出n,a,b,求期望比赛的场数. $n\le 2000,a<b\le 1000…
http://www.lydsy.com/JudgeOnline/problem.php?id=2017 这题太神了,我想了一个中午啊 原来是看错题一直没理解题解说的,一直以为题解是错的QAQ “开始玩游戏时,第一个玩家可以从堆顶拿走一枚或两枚硬币” 果然还是太弱 我们发现,每一个阶段都由上一个玩家决定的,即别人怎么拿限制了我怎么拿,那么 设状态为f(i, j)表示剩余i个硬币,上次拿了j个硬币,注意,是上一次! 则 f(i, j)=max{sum(1, i)-f(i-k, k)} 1<=k<…
记录平时打 AtCoder 比赛时遇到的一些神题. Tenka1 Programmer Contest 2019 D Three Colors 题目大意 有 $n$ 个正整数 $a_1, a_2,\dots, a_n$($3\le n\le 300$,$1\le a_i \le 300$).现在要把每个数涂成红,绿,蓝,三种颜色之一.将同色的数之和分别记作 $R,G,B$.试求使得 $R,G,B$ 是某三角形的三边长的涂色方案.结果模 $998244353$ . 分析 这道题的正解是考虑不能构成…
啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊,比赛的时候直接读错题了,实力带坑队友.... 题意: 有两个序列都代表筐,每个筐里只有一个球,然后序列的值代表筐里的球的颜色,问你在m次操作后,a序列的球能否变成b序列的球,每总操作虽然是收集这个区间所有的球,但是每个筐只能放一个,也就是说这只是交换位置的操作. 思路: 补完题,也完全想不出可以用标记下标,然后对m个区间的a数组下标排序,因为在排序的过程中,就会类似于偏移操作,而且是最优操作哦,然后判断一下就好了.哎,实在想不出来,好厉害的方法,+神题: 挫c…
4817: [Sdoi2017]树点涂色 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 629  Solved: 371[Submit][Status][Discuss] Description Bob有一棵n个点的有根树,其中1号点是根节点.Bob在每个点上涂了颜色,并且每个点上的颜色不同.定义一条路 径的权值是:这条路径上的点(包括起点和终点)共有多少种不同的颜色.Bob可能会进行这几种操作: 1 x: 把点x到根节点的路径上所有的点染上一种…
Java程序设计(2021春)--第一章课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第一章课后题(选择题+编程题)答案与详解 第一章选择题 1.1 Java与面向对象程序设计简介 T4 题面 答案 详解 T9 题面 答案 详解 T10 题面 答案 详解 T11 题面 答案 详解 T15 题面 答案 详解 1.2 基本数据类型与表达式 T12 题面 答案 详解 T14 题面 答案 详解 1.3数组 T1 题面 答案 详解 T4 题面 答案 详解 1.4算法的流程控制…
Java程序设计(2021春)--第二章课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第二章课后题(选择题+编程题)答案与详解 第二章选择题 2.1 面向对象方法的特性 T1 题面 答案 详解 T5 题面 答案 详解 2.2-1 类声明与对象创建 2.2-2 数据成员 2.2-3 方法成员 2.2-4 包 2.2-5类的访问控制权限 T3 题面 答案 详解 2.3-1 对象初始化 2.3-2 内存回收 2.4枚举类 T2 题面 答案 详解 第二章编程题 T1 矩阵螺…
Java程序设计(2021春)--第四章接口与多态课后题(选择题+编程题)答案与详解 目录 Java程序设计(2021春)--第四章接口与多态课后题(选择题+编程题)答案与详解 第四章选择题 4.0 导学 4.1接口 4.2.1-4.2.2-类型转换 4.2.3-方法的查找 T2 题面 答案 详解 3.5 泛型 T1 题面 答案 详解 第四章编程题 T1 字符串数字验证 题面 样例输入: 样例输出: 思考和详解 具体代码 T2 数组跳跃 题面 样例输入: 样例输出: 样例输入2: 输出: 样例解…
就是最近在做树方面的题时,发现JS和JAVA刷题和C刷题的一个很重要的区别就是传入null的区别 当遍历的时候,C传参数时可以传进去null的指针,因为递归进去,出来时,指针还是指着那个地方 但是JS和JAVA的话,如果传入的不是引用,那么就要通过返回值来记录之前的值,不然的话会丢失之前的状态. 我经常就在null这里犯错误,因为null在C中是null指针,但是在JS和JAVA中null不是引用,仅仅是一种特殊的值. 所以使用JS和JAVA刷关于树递归的题时,最好就是把你要求的值传进去后再返回…
#include<stdio.h> int main() { ; // n < 100 scanf("%d", &n); // 循环遍历判断 再进行平方和 ; i<=n; i++) { ) { != || i!=) s+=i*i; } ) { != && i%!= && i%!=) s+=i*i; } else { } } printf("%d\n",s); ; } /* pkuic_1703.c 计算…
4269. [NOIP2015模拟10.27]挑竹签 (File IO): input:mikado.in output:mikado.out Time Limits: 1000 ms  Memory Limits: 131072 KB  Detailed Limits   Goto ProblemSet Description 挑竹签——小时候的游戏夏夜,早苗和诹访子在月光下玩起了挑竹签这一经典的游戏.挑竹签,就是在桌上摆上一把竹签,每次从最上层挑走一根竹签.如果动了其他的竹签,就要换对手来挑…
[js]Leetcode每日一题-停在原地的方案数 [题目描述] 有一个长度为 arrLen 的数组,开始有一个指针在索引 0 处. 每一步操作中,你可以将指针向左或向右移动 1 步,或者停在原地(指针不能被移动到数组范围外). 给你两个整数 steps 和 arrLen ,请你计算并返回:在恰好执行 steps 次操作以后,指针仍然指向索引 0 处的方案数. 由于答案可能会很大,请返回方案数 模 10^9 + 7 后的结果. 示例1: 输入:steps = 3, arrLen = 2 输出:4…
题目 题目描述 今天,接触信息学不久的小\(A\)刚刚学习了卡特兰数. 卡特兰数的一个经典定义是,将\(n\)个数依次入栈,合法的出栈序列个数. 小\(A\)觉得这样的情况太平凡了.于是,他给出了\(m\)组限制,每个限制形如\((f_i,g_i)\),表示\(f_i\)不能在\(g_i\)之后出栈. 他想求出:在满足了这\(m\)组限制的前提下,共有多少个合法的出栈序列.他不喜欢大数,你只需要求出答案在模\(998244353\)意义下的值即可. 输入格式 输入第一行为两个非负整数,\(n\)…
好像用到一些高中数学知识...... 满分做法: case 0:已知a数组求b数组 因为是树状结构,设当前节点x 儿子to 我们从任意一点出发可求出b[root]来,之后我们可以通过寻找两两相连节点的关系来O(n)推出全部的b 我们发现x与y之间只有一条边的贡献不同,就是他们相连的边 (边的贡献即该边节点所在子树通过该点的a权值和) 那么我们就轻松搞掉了...... case 1:已知b求a 设sum[i]为以i为根的子树的a值和,all为总值. 我们首先可以发现b[x]-b[to]的差值可以用…
题目描述 LYK有一张无向图G={V,E},这张无向图有n个点m条边组成.并且这是一张带权图,只有点权. LYK想把这个图删干净,它的方法是这样的.每次选择一个点,将它删掉,但删这个点是需要代价的.假设与这个点相连的还没被删掉的点是u1,u2,…,uk.LYK将会增加a[u1],a[u2],…,a[uk]的疲劳值. 它想将所有点都删掉,并且删完后自己的疲劳值之和最小.你能帮帮它吗? 输入格式(god.in) 第一行两个数n,m表示一张n个点m条边的图. 第二行n个数ai表示点权. 接下来m行每行…
1264: [AHOI2006]基因匹配Match 题目:传送门 简要题意: 给出两个序列.每个序列都由n种不同的数字组成,保证每个序列种每种数字都会出现5次(位置不一定一样),也就是序列长度为5*n啦. 求这两个序列的最长公共子序列. 题解: 假的(nlogn)最长公共子序列算法 本蒟蒻看完题: woc!大水题,这不是就是动态规划求最长公共子序列吗~ 看完数据范围...ORZ那么大!!!最长公共子序列的基础算法要(n^2)...完了...不会...瞎搞??? 这么皮,怎么破! tkj神犇:so…
题目背景 小强和阿米巴是好朋友. 题目描述 小强很喜欢数列.有一天,他心血来潮,写下了一个数列. 阿米巴也很喜欢数列.但是他只喜欢其中一种:波动数列. 一个长度为n的波动数列满足对于任何i(1 <= i < n),均有: a[2i-1] <= a[2i] 且 a[2i] >= a[2i+1](若存在) 或者 a[2i-1] >= a[2i] 且 a[2i] <= a[2i+1](若存在) 阿米巴把他的喜好告诉了小强.小强便打算稍作修改,以让这个数列成为波动数列.他想知道…
http://www.lydsy.com/JudgeOnline/problem.php?id=1009 好神的题orzzzzzzzzzz 首先我是连递推方程都想不出的人...一直想用组合来搞..看来我是sb.. 设f[i,j]表示前i个字符匹配了前j个不吉利数字的方案,即i-j+1~i都是不吉利数字 那么答案就是sigma{f[n,i], 0<=i<m} 转移是 f[i+1,k]=sum{f[i, j],枚举i+1的字符后,k是i+1字符和不吉利数字匹配1~k,0<=k<=j}…
原题链接:http://poj.org/problem?id=2429 GCD & LCM Inverse Time Limit: 2000MS Memory Limit: 65536K Total Submissions: 17639 Accepted: 3237 Description Given two positive integers a and b, we can easily calculate the greatest common divisor (GCD) and the l…
[BZOJ3563/3569]DZY Loves Chinese II Description 神校XJ之学霸兮,Dzy皇考曰JC. 摄提贞于孟陬兮,惟庚寅Dzy以降. 纷Dzy既有此内美兮,又重之以修能. 遂降临于OI界,欲以神力而凌♂辱众生. 今Dzy有一魞歄图,其上有N座祭坛,又有M条膴蠁边. 时而Dzy狂WA而怒发冲冠,神力外溢,遂有K条膴蠁边灰飞烟灭. 而后俟其日A50题则又令其复原.(可视为立即复原) 然若有祭坛无法相互到达,Dzy之神力便会大减,于是欲知其是否连通. Input 第…
Description SD有一名神犇叫做Oxer,他觉得字符串的题目都太水了,于是便出了一道题来虐蒟蒻yts1999.   他给出了一个字符串T,字符串T中有且仅有4种字符 'A', 'B', 'C', 'D'.现在他要求蒟蒻yts1999构造一个新的字符串S,构造的方法是:进行多次操作,每一次操作选择T的一个子串,将其加入S的末尾.   对于一个可构造出的字符串S,可能有多种构造方案,Oxer定义构造字符串S所需的操作次数为所有构造方案中操作次数的最小值.   Oxer想知道对于给定的正整数…
Language of FatMouse Time Limit: 10 Seconds      Memory Limit:32768 KB We all know that FatMouse doesn't speak English. But now he has to be prepared since our nation will join WTO soon. Thanks to Turing we have computers to help him. Input Specifica…