某考试 T1 table】的更多相关文章

我们把每一行看成一个多项式 f[i][1] + f[i][2] * x + f[i][3] * x^2 + ..... + f[i][n] * x^(n-1) 的话,一行转移到下一行就相当于乘上一个{b*x + a}的多项式. 于是本题就有了不下五种做法233333,但是大部分做法都因为用了多次NTT而被卡常,就算只用了一次NTT的算法过了,那也不是最优的,因为我们完全可以把 (b*x + a)^n 广义二项式展开,这样就可以 O(N) 计算出转移多项式 (因为n<0也适用广义多项式定理,所以多…
考试T1CE... 最近不适合考试 T1 扶苏是个喜欢一边听古风歌一边写数学题的人,所以这道题其实是五三原题.歌曲中的主人公看着墙边的海棠花,想起当年他其实和自己沿着墙边种了一排海棠,但是如今都已枯萎,只剩下那一株,寄托着对他深深的思念.沿着墙一共有 n 个位置可以种下海棠花,主人公记得自己当年和他一共种下了 m朵,由于花的特性,海棠不能紧挨着种植,也就是两朵海棠花之间最少间隔一个不种花的空位置.但是她记不清当时海棠花具体是怎么摆放的了,所以她想知道一共有多少方案使得 m 朵海棠花都被种下且两两…
题目背景 无 题目描述 Alice 和 Bob 在一个圆环上玩游戏.圆环上有 n 个位置,按照顺时针顺序 依次标号为 1 到 n.Alice 和 Bob 分别有一个数字集合,集合中都是在 [1, n−1] 内的正整数.游戏开始时会有一个棋子摆在圆环上的某个位置,然后两人轮流 行动.轮到某个人的回合时,他可以从他的集合中选出某个数 x,然后把棋子 沿顺时针方向移动 x 个位置.如果某个人把棋子移动到了 1 号位置,那么他就 获胜了.两个人都会以最优策略行动. 你需要对不同先后手顺序以及棋子初始位置…
题目描述 给出一个长度为 m 的序列 A, 请你求出有多少种 1...n 的排列, 满足 A 是它的一个 LIS. 输入格式 第一行两个整数 n, m. 接下来一行 m 个整数, 表示 A. 输出格式 一行一个整数表示答案. 样例 Input: 5 3 1 3 4 Output: 11 数据范围与提示 对于前 30% 的数据, n ≤ 9; 对于前 60% 的数据, n ≤ 12; 对于 100% 的数据, 1 ≤ m ≤ n ≤ 15. 我们可以很自然的想到用f[S][s]表示目前选了S中的数…
把lcm写成 (a+n)*(b+n) / gcd(a+n,b+n). 因为gcd可以辗转相减,所以就成了gcd(abs(a-b),a+n),一个常量一个变量之间的gcd,我们可以直接把abs(a-b)的所有约数找出来,然后看a要有某个约数的话n至少是多少,更新答案即可.(因为1e9以下的数的最多的约数的级别是1e3) #include<iostream> #include<cstdio> #include<algorithm> #include<cmath>…
\(\color{#0066ff}{题解}\) 然后a,b,c通过矩阵加速即可 为什么1出现偶数次3没出现的贡献是上面画绿线的部分呢? 考虑暴力统计这部分贡献,答案为\(\begin{aligned}\sum_{2|i}C_n^i*3^{n-i}\end{aligned}\) 显然如果没有\(\sum\)下面的限制,它就是一个生成函数\((x+3)^n\) 相当于我们只取偶数项 可以用单位根反演 把\(\omega_2^1,\omega_2^2\)分别代入\((x+3)^n\) 得到的就是2倍的…
\(\color{#0066ff}{ 题目描述 }\) 衡水二中的机房里经常有人莫名其妙地犇雷,leizi很生气,决定要找出那个犇雷的人 机房有n个人,每个人都认为机房里有两个人可能会犇雷,其中第i个人认为xi和yi可能会在机房犇雷(1<=i,xi,yi<=n,xi!=yi) (某个人不可能资磁自己犇雷,即xi,yi!=i) leizi决定找出两个pwang并把他们按在床上揍.leizi希望选择的方案恰好被c个人支持,一个oier会支持一个方案当且仅当至少有一个他认为的pwang被leizi揍…
转化一下模型:每天可以选1也可以选0,但是任意前i天(i<=n)1的个数都必须>=0的个数,求总方案数/2^n. 然后可以发现这是一个经典题,随便推一下公式发现等于  C(n,n/2)/2^n  [请在二维平面直角坐标系上自行演算,(x,y)可以到 (x+1,y)和(x,y+1),横坐标代表1的个数,纵坐标代表0的个数,求不经过 y=x+1 这条直线的路径总数  (终点是 任意 (x,y) 满足 x+y==n 且 x>=y)] 本来以为卡卡常数就过去了23333,没想到竟然还要用 阶乘逼…
一开始死磕sam,发现根本没法做...... 后来想了想,反正匹配子串的大部分不是sam就是 二分+hash啊,,,于是就想了想二分+hash,发现好像可以做啊! 就是假设我们要让 s1[1] 映射到s2 中的位置是 s2[i] ,那么这种情况的答案就很好算了,就是求一次lcp之后把第一个不匹配的钦定成匹配之后再一次lcp. 所以总的时间复杂度就是 O(N * log(N)) 啦. #include<iostream> #include<cstdio> #include<cs…
可以很容易的发现,如果选了最高的房子,那么就不能再选了:否则在左边选一坨合法的,在右边选一坨合法的,拼起来还是合法的. 所以我们可以处理出,每个数的控制区间[L,R] (保证这个区间是其他数都小于它的极大区间),以及左边右边最大的比它小的数的位置(在区间里). 这样我们就可以做到类似线段树的分割并合并区间的答案. 但还有一个问题,,,这样建树的话,最高深度可能是O(N)的,这样不就gg了??? 但是数据是随机的啊,,,期望log N.  (好像这种根据权值分割树的数据结构叫笛卡尔树?) #inc…
1.正确答案 [题目描述] 小H与小Y刚刚参加完UOIP外卡组的初赛,就迫不及待的跑出考场对答案. “吔,我的答案和你都不一样!”,小Y说道,”我们去找神犇们问答案吧”. 外卡组试卷中共有m道判断题,小H与小Y一共从其他n个神犇那问了答案.之后又从小G那里得知,这n个神犇中有p个考了满分,q个考了零分,其他神犇不为满分或零分.这可让小Y与小H犯了难.你能帮助他们还原出标准答案吗?如有多解则输出字典序最小的那个.无解输出-1. [输入格式] 第一行四个整数n, m, p, q,意义如上描述. 接下…
笔记[问题描述]给定一个长度为m的序列a,下标编号为1~m.序列的每个元素都是1~N的整数.定义序列的代价为累加(1->m-1 abs(ai+1-ai))你现在可以选择两个数x和y,并将序列?中所有的x改成y.x可以与y相等.请求出序列最小可能的代价.[输入格式]输入第一行包含两个整数n和m.第二行包含n个空格分隔的整数,代表序列a.[输出格式]输出一行,包含一个整数,代表序列最小的代价.[样例输入 1]4 61 2 3 4 3 2[样例输出 1]3[样例输入 2]10 59 4 3 8 8[样…
加密[问题描述]有一种不讲道理的加密方法是: 在字符串的任意位置随机插入字符. 相应的,不讲道理的解密方法就是从字符串中恰好删去随机插入的那些字符.给定原文s和加密后的字符串t,求?有多少子串可以通过解密得到原文s.[输入格式]输入第一行包含一个字符串t,第二行包含一个字符串s.[输出格式]输出一行,包含一个整数,代表可以通过解密得到原文的s的子串的数量.[样例输入]abcabcabccba[样例输出]9[样例解释]用[?,?]表示子串开头结尾的下标(从 0 开始编号) ,这 9 种方案是:[0…
设 g(x) = f(x) * x ,多项式 A = Σ g(i) * x^i , 多项式  B = Σ f(i) * x^i. 首先,g(x) = g(x-1) + g(x-2) + f(x-1) + 2f(x-2),所以我们可以得到: A = x * A + x^2 * A + x * B + 2 * x^2 * B + x 又因为B是斐波那契数列的多项式,所以B的闭形式可以直接得到,就是  x/(1-x-x^2)   [这个也不难推,可以自己推推]. 于是我们可以开开心心的解出A的闭形式,…
(数据范围 n<=10^9 ,T<=10 ) 首先,我来证明一下 Σμ(d) * σ(i/d)^2 = σ(i^2) 相信做过约数个数和的童鞋都可以完成从右式推到左式,那么我现在就说一下怎么从左边推到右边. Σμ(d) * σ(i/d)^2 = Σμ(d) * Σ(d|p|i) * Σ(d|q|i) = Σ(p|i) * Σ(q|i) * Σ(d|p,d|q) μ(d) = Σ(p|i) * Σ(q|i) * [gcd(p,q)==1] = σ(i^2) 然后这个题就变成了昨天晚上我做的那个题…
状压dp+矩阵转移,据说正解是dfs出的合法状态,,但难道不是三个for就行了吗2333 #include<iostream> #include<cmath> #include<algorithm> #include<cstdio> #include<cstdlib> #include<cstring> #define ll long long const int ha=1000000007; using namespace std;…
题目大意就是: 设f(x)为x各个位数字之和,求x属于[0,k]且b * f(x)^a + c = x的x个数并升序输出. (a<=5  .  b,c,<=10^4  .   k<=10^9) 可以发现f(x)的可能取值(在本题)最多只有81种,并且f(x)确定了之后等号左边就确定了.于是我们可以大力枚举f(x)是多少,解出x之后再看看f(x)是不是等于枚举的值. #include<iostream> #include<cstring> #include<a…
传送门 这题的提议似乎有什么问题,只要约翰选好了要抓那头牛,他就不会吃草了,站在原地傻等? 这题就是贪心,但在用cmp中比较单位时间吃草数量时,要用double型,不然可能会有点一样... 还有就是主要的思路 设x,y是两头牛,如果后送y牛损失的花少于后送x牛损失的花 即x.t*x.d+(x.t+y.t)*y.d<=y.t*y.d+(x.t+y.t)*x.d 打开可化简为x.t*y.d<=y.t*x.d ∴x.d/x.t>=y.d/y.t时选择先送x牛 所以按每头牛吃的花和时间的比从大到…
题目如下: (想要作弊的后几届神仙们我劝你们还是别黈了,这个题如果你们不会只能证明你们上错班了). 好,题目看完了,发现是一道大模拟(%你)题,于是我们按照题目说的做: #include<iostream> using namespace std; long long gcd(long long a,long long b)//gcd函数求最大公约数 { if (!b) return a;//b!=0 else return gcd(b,a%b); } int main() { long lo…
1. div[题目描述] 这是一道传统题,源代码的文件名为 div.cpp/c/pas. 给定一棵树,你要判断是否存在一条边,使得割掉这条边后,这棵树被分成了点数相等的两部分,并且如果存在,请你找到这条边.[输入格式] 从 div.in 中读入. 第一行,一个正整数 n. 接下来 n-1 行描述树的形态,每行两个空格隔开的正整数 u 和 v,表示树中有一条连接 u 号点和 v 号点的边.保证数据合法.[输出格式] 输出到 div.out 中. 仅一行,一个正整数 ans 表示要割掉给出的第 an…
Description ​ 有一棵树,每个点有一个权值,找到一个权值最大的"乙烷"模型. ​ "乙烷"模型是指: ​ 其中黑点表示可以有0个或多个点. Sample Input 8 1 1 1 1 1 1 1 1 //点权 1 2 //建树 1 3 1 4 1 5 2 6 2 7 2 8 Sample Output 8 ​ 看到这道题有点蒙,想了一会儿想出是树形DP了,就是不会写,就想着打个暴力,还没打对...(我吐了) ​ 这道题正解就是树形DP,我们考虑它的状态…
function printT( ... ) for i,v in ipairs(...) do print(i,v) end end t1={} t2={} t3={} table.insert(t1,"t1") table.insert(t1,"t2") ,"t3") print "1 table.insert-----------" --printT(t1) print "2 table.concat-----…
标准table库 table.concat(table, sep,  start, end) concat是concatenate(连锁, 连接)的缩写,table.concat()函数列出参数中指定table的数组部分从start位置到end位置的所有元素,元素间以指定的分隔符(sep)隔开.除了table外, 其他的参数都不是必须的, 分隔符的默认值是空字符,start的默认值是1,end的默认值是数组部分的总长. sep, start, end这三个参数是顺序读入的,所以虽然它们都不是必须…
操作环境:ubuntu 14.10   mysql 5.6.25 对含有BLOB或TEXT字段的表,若经常做修改或删除类的操作,需要定期执行OPTIMIZE TABLE命令来整理碎片. 1.create table t1(id varchar(64), content text)engine=myisam, default charset=utf8; 存储引擎使用myisam 2.插入数据 insert into t1 values(1, repeat('tony', 100));       …
[20180630]truncate table的另类恢复2.txt --//上个星期做了truncate table的另类恢复,通过修改数据块的段号,再通过rowid定位收集数据,达到修复的目的.--//实际上不能作为恢复的手段,主要不实用,不过通过学习了解oracle一些基本概念.--//链接:blog.itpub.net/267265/viewspace-2156936/ --//而且上次涉及的块很少,这次我们反向思考,不修改块的段号,而修改数据字典,来恢复truncate表.--//注意…
当你要drop一个table时,如果删除table的动作会造成trigger或constraint产生矛盾,系统会出现错误警告的讯息而不会允许执行..一个极简单的例子,例如你有一个员工基本资料表,上面可能有员工编号和员工姓名等字段,另外有一个员工销售表,上面有员工编号和员工销售额两个字段,员工薪资表的员工编号字段为一个foreign key参照到员工基本资料表的员工编号: SQL> drop table t; Table dropped. SQL> drop table t1; Table d…
table属性 table库是有一些辅助函数构成的,这些函数将table作为数组来操作. 当中.有对列表中插入和删除元素的函数,有对数组元素进行排序的函数.还有对链接一个数组中全部字符串的函数. 0.table.getn()Lua 中我们常常假定 array 在最后一个非 nil 元素处结束. 也就是nil值后的元素不读取 这个传统的约定有一个弊端:我们的 array中不能拥有 nil 元素. 对大部分应用来说这个限制不是什么问题.比方当全部的 array 有固定的类型的时候. 但有些时候我们的…
<%@ page contentType="text/html; charset=UTF-8" %> <%@taglib uri="/struts-tags" prefix="s"%> <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c"%> <% String path =request.getCont…
之前博文:HTML布局排版2如何设置div总是相对于页面居中 中是用div进行排版的,div是切了三条,顶部的图片,下部的图片,中间的平铺条,中间的div不设高度,根据内容,该区域的大小不固定,便于后期增删内容不用再改样式. 前面的博文用div平铺的,此外,用table也能实现这个效果,table需要注意要把td的padding清零,否则td单元格里上下有padding,会出现裂缝.图片高度是按照单元格高度裁剪的,所以主要是上下padding引起的.如图,第一个table排版中td里没有设置pa…