- 博客(219)
- 资源 (1)
- 收藏
- 关注
原创 从csdn搬家到博客园(无尽的蓝黄)
用csdn写博客已经有两年多了,可以说csdn记录了我作为IOer两年来的经历。 但是用久了也觉得csdn似乎有些差强人意, 1、界面太单调了,也不能改改背景之类的,为了给读者更好的观博体验,我觉得转到博客园。 2、csdn有时会突然崩溃一会,造成一些小麻烦。 3、广告好多,超级烦! 各位关注我的朋友,以及未来的关注我的人, 经过一个月的努力(刚好一个月4.28–>5.28),我...
2018-05-28 18:22:34 718
原创 【51nod 1847】奇怪的数学题
题目描述给出 N,K ,请计算下面这个式子: ∑Ni=1∑Nj=1sgcd(i,j)k∑i=1N∑j=1Nsgcd(i,j)k∑_{i=1}^N∑_{j=1}^Nsgcd(i,j)^k 其中,sgcd(i, j)表示(i, j)的所有公约数中第二大的,特殊地,如果gcd(i, j) = 1, 那么sgcd(i, j) = 0。 考虑到答案太大,请输出答案对2^32取模的结果. 1≤...
2018-05-04 22:22:16 1063
原创 Codeforces Round #446 Div1 E
题目大意有n个数,进行k轮操作:随机一个i,让aiaia_i减1,然后ans加上Πj≠iaiΠj≠iai\Pi_{j\neq i}a_i。 求ans的期望。分析发现,造成的伤害就是原来的ai的积减去k轮操作后的ai的积(其实我在看题解前根本没发现)。 题目就变成了求k轮操作后的ai的积的期望。 设ai经过了k轮操作减去了bi E(Πni=1(ai−bi))=1nk∑∑ni=...
2018-04-18 22:08:06 331
原创 【agc005d】~K Perm Counting
题目大意求有多少中1~n的排列,使得abs(第i个位置的值−i)!=kabs(第i个位置的值−i)!=kabs(第i个位置的值-i)!=k解题思路考虑容斥,ans=∑ni=0(−1)ig[i](n−i)!(g[i]表示至少有i个位置是不合法的方案数)ans=∑i=0n(−1)ig[i](n−i)!(g[i]表示至少有i个位置是不合法的方案数)ans=\sum_{i=0}^{n}(-...
2018-04-03 16:34:57 597
原创 【JZOJ5603】【NOI2018模拟3.27】Xjz
题目描述给定字符串 S 和 T。 串A和串B匹配的定义改为:存在一个字符的映射,使得A应用这个映射之后等于B,且这个映射必须为一个排列。 A=121, B=313,当映射为{1->3, 2->1, 3->2}时A’=B,可以匹配 A=212, B=313,当映射为{1->1, 2->3, 3->2}时A’=B,可以匹配 A=232, B=313,当映...
2018-03-27 16:25:18 421
原创 【JZOJ5605】【NOI2018模拟3.26】Arg
题目描述给出一个长度为 m 的序列 A, 请你求出有多少种 1…n 的排列, 满足 A 是它的一个 LIS.解题思路如何求出一个序列的LIS? 对于二分的方法,每次插入一个数,将它放到第一个比它大的数的位置处代替之,最后的长度就是LIS的长度。 考虑模拟这个过程,设f[s],表示当前这n个数的是否加入的状态为s,s是一个三进制数,0表示还没加入,1表示加入了且仍在当前的LIS中,2...
2018-03-27 16:15:46 281
原创 【agc004e】Salvage Robots
题目大意一个n*m的矩阵,矩阵内有一个出口和若干个机器人,每一步操作可以使所有的机器人向任意方向移动一格,如果机器人出了边界就爆炸。求最多可以让多少个机器人走到出口。解题思路发现,移动所有机器人,其实就相当于移动出口和边界。 于是,设f[i][j][k][l],表示机器人走完了子矩阵(i,j)(k,l),最多可以让多少个机器人走到出口。 每次多加一行或一列转移,根据边界来看增加的机...
2018-03-16 22:01:29 268
原创 【agc004c】AND Grid
前言一个奇妙的构造题…题目大意给定一个矩阵,某些位置涂有颜色(不保证联通)。 构造两个大小相同矩阵,两个矩阵内涂有颜色,使得每个矩阵的颜色联通,并且颜色重合部分的位置恰好与给定的矩阵一样。解题思路被坑死了,想了半天,一看题解秒懂。 因为给定的矩阵边界没有颜色,于是第一个矩阵左边边界涂色,第二个矩阵右边边界涂色。 然后除了左右边界,第一个矩阵涂满奇数行,第二个矩阵涂满偶...
2018-03-14 17:29:14 326
原创 【agc004d】Teleporter
题目大意一棵树,改变一些边的父亲,使得深度不超过k。解题思路我一开始就想到了贪心,结果莫名其妙的把这种方法给否决了, 然后考虑优化树形dp,然后优化失败⊙﹏⊙ 贪心思路很简单,也很好感受出来,从下往上跑,每当到底下的深度大于k,将其断掉,连向根节点。#include <cmath>#include <iostream>#include <cst...
2018-03-13 22:38:39 311
原创 【agc002f】Leftmost Ball
题目大意有n种颜色,每种k个球。将这些球任意排列,将每种颜色中最前面的一个求涂成白色(就是n+1种颜色),求最终的排列的方案的个数。解题思路考虑如何计算不会算重, 按颜色顺序,每次往排列插入k个球,k-1个某种颜色,以及一个白球。 那么只要我们每次插入k个球时,保证白球一定在之前插入的白球的后面,并且某种颜色的第一个球,放在上一次的颜色的第一个球的后面,就可以保证不会算重,最后...
2018-03-09 22:23:07 263
原创 【agc002d】Stamp Rally
题目大意无向图中,每次询问从x和y分别出发,一共经过z个点,使需要走过编号最大的边最小。解题思路对于暴力,我们对于每个询问二分答案ans,将1~ans的边加入,用并查集维护,如果x和y在同一个并查集,则判断该并查集大小是否大于等于z,否则判断该x所在并查集和y所在并查集大小的和是否大于等于z。 考虑如何优化,整体二分,二分边的编号,同时对于每个编号区间[l,r],记录一个询问集合...
2018-03-06 16:45:34 226
原创 【arc068F】Solitaire
题目大意有一个队列,头尾都可以进出。 首先将n个数1~n从小到大扔进队列,然后将一次弹出队列,求最后弹出来的排列中,第k个数为1的排列有多少种。解题思路我们来考虑一下一个合法排列的性质,第k个数是1前k-1个数是可以拆成一个或两个单调递减的序列。前k-1个数中其中一个序列的最小值一定大于后n-k个数中的最大值。考虑如何来满足这个构造出这个排列。 先考虑后n-k-...
2018-03-01 15:47:21 496
原创 51nod 1172 Partial Sums V2
题目给出一个数组A,经过一次处理,生成一个数组S,数组S中的每个值相当于数组A的累加,比如:A = {1 3 5 6} => S = {1 4 9 15}。如果对生成的数组S再进行一次累加操作,{1 4 9 15} => {1 5 14 29},现在给出数组A,问进行K次操作后的结果。(输出结果 Mod 10^9 + 7)分析发现,每次处理相当于将A卷上一个I(∀ai=...
2018-02-05 22:48:18 277
原创 快速数论变换NTT模板
51nod 1348 乘积之和#include <cmath>#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>#include <queue>#include
2018-02-03 16:42:45 314
原创 快速傅立叶变换FFT模板
递归版UOJ34多项式乘法//容易暴栈,但是很好理解#include <cmath>#include <iostream>#include <cstdio>#include <cstdlib>#include <cstring>#include <algorithm>#include <queu...
2018-02-03 16:40:37 255
原创 【GDKOI2018】总结
前言车祸现场。。。day1T1:其实就是对于每个点的有用的时间点建一个点,然后连边,对于询问(x,y),从点(y,inf),往回走,能走到的最早的x的时间点就是答案。 比赛上用最后的一个多小时来调,还是过不了样例,wa的一声哭了出来,水了10分。 T2:AC自动机裸题,SAM也可以,不多说。 比赛上突然忘记怎么打对拍,于是只能手动,浪费了很多时间,最后还是过了。 T3:弄成矩阵
2018-01-31 21:24:38 761
原创 【51nod 1824】染色游戏
有 n 个红球, m 个蓝球,从中取出 x 个红球和 y 个蓝球排成一排的得分是 rx⋅by ,其中 r0=b0=1 。 定义 f(t) 表示恰好取出 t 个球排成一排的所有可能局面的得分之和。 两个局面相同,当且仅当这两排球的个数相等,且在对应列位置上的颜色都是相同的。 小Q想知道,有多少 t (1≤t≤n+m) 使得 f(t) 是奇数,你能告诉他满足条件的 t2 之和吗? 对于
2018-01-12 22:39:55 417
原创 【清华集训2017模拟12.09】塔
有一个塔,他的名字叫做粽粑,粽粑的每一层都有一个颜色 . 粽粑非常厉害,它在吸收天地精华之后会长高.粽粑的长高方式有两种: 1.在塔顶长出一层. 2.在塔底长出一层,即原来的第一层变成第二层,第二层变成第三层,以此类推,新长出来的是第一层. 粽粑有可能在某个时刻不是很开心,这个时候它会撤销它的前若干次长高. 你现在想知道粽粑长高的奥秘,于是找到了粽粑,发现它的入口上写着这么一句话:要
2017-12-14 16:52:05 308
原创 【51nod1792】Jabby's segment tree
线段树是一种经典的数据结构,一颗[1,n]的线段树他的根是[1,n],当一个线段树的结点是[l,r]时,设mid=(l+r)>>1,则这个结点的左儿子右儿子分别是[l,mid],[mid+1,r] 当我们在线段树上跑[x,y]询问时,一般是从根节点开始计算的,设现在所在结点是[l,r],有以下几种分支: 1.若[x,y]包含[l,r],计算结束 2.否则,若左儿子和[x,y]有交,计算左儿
2017-12-14 16:36:33 404
原创 【51nod1220】约数之和
d(k)表示k的所有约数的和。d(6) = 1 + 2 + 3 + 6 = 12。定义S(N) = ∑1<=i<=N ∑1<=j<=N d(i*j)。例如:S(3) = d(1) + d(2) + d(3) + d(2) + d(4) + d(6) + d(3) + d(6) + d(9) = 59,S(1000) = 563576517282。给出正整数N,求S(N),由于结果可能会很大,输出Mod 1000
2017-12-07 17:16:00 1209 1
原创 Atcoder Regular Contest 066 F genocide【JZOJ5451】
Atcoder Regular Contest 066 F genocide
2017-11-05 21:56:52 283
原创 Codeforces Round #395 Div.1 C pacifist【JZOJ5449】Pacifist
papyrus 喜欢谜题… 来解一道如何? 在你面前有一个被加密了的数组,其原数组是一个等差序列,你面前的则是将原数组中的所有数字都对m 取模再打乱后而得到的新数组 papyrus 给你出的谜题就是还原出原等差序列 保证数据有解,而且因为papyrus 喜欢质数,所以他给你出的谜题中的m 一定是质数分析将a排序,当a[1]不是末项时,a[i]-a[1]一定有一个为公差 枚举公差d, 我
2017-11-05 21:06:37 233
原创 【JZOJ5439】【NOIP2017提高A组集训10.31】Calculate
【JZOJ5439】【NOIP2017提高A组集训10.31】Calculate
2017-11-03 20:56:24 586
原创 【JZOJ5430】【NOIP2017提高A组集训10.27】图
【JZOJ5430】【NOIP2017提高A组集训10.27】图有一个n个点的无向图,给出m条边,每条边的信息形如<x,y,c,r>给出q组询问形如<u,v,l,r>接下来解释询问以及边的意义询问表示,一开始你在点u上,然后按顺序处理编号从l到r的边对于一条边<x,y,c,r>,你可以进行两种操作:如果你当前在x点或者y点上,那么你可以走这条边(从x到y或从y到x)并付出c的代价(当然你也可以
2017-10-30 21:39:27 397
原创 【JZOJ5428】【NOIP2017提高A组集训10.27】查询
【JZOJ5428】【NOIP2017提高A组集训10.27】查询给出一个长度为n的序列a[]给出q组询问,每组询问形如<x,y>,求a序列的所有区间中,数字x的出现次数与数字y的出现次数相同的区间有多少个。
2017-10-30 21:09:29 412
原创 【JZOJ5434】【NOIP2017提高A组集训10.30】Matrix
【JZOJ5434】【NOIP2017提高A组集训10.30】Matrix
2017-10-30 20:40:35 238
原创 【NOIP2017提高A组集训10.21】Fantasy
Y sera 陷入了沉睡,幻境中它梦到一个长度为N 的序列{Ai}。 对于这个序列的每一个子串,定义其幻境值为这个子串的和,现在Y sera 希望选择K 个不同的子串并使得这K 个子串的幻境值之和最大。 然而由于梦境中的种种限制,这些子串的长度必须在L 到R 之间。 你需要告诉她,最大的幻境值之和。分析题目要求求出最大的和,那显然就是找出最大的k个子串。 考虑怎么找出最大的k个子串。
2017-10-22 07:53:37 319
原创 【NOIP2017提高A组模拟10.7】Adore
小w 偶然间见到了一个DAG。 这个DAG 有m 层,第一层只有一个源点,最后一层只有一个汇点,剩下的每一层都有k 个节点。 现在小w 每次可以取反第i(1 < i < n - 1) 层和第i + 1 层之间的连边。也就是把原本从(i, k1) 连到(i + 1, k2) 的边,变成从(i, k2) 连到(i + 1, k1)。 请问他有多少种取反的方案,把从源点到汇点的路径数变成偶数条?
2017-10-07 21:39:13 511 1
原创 JZOJ5373【NOIP2017提高A组模拟9.17】信仰是为了虚无之人
JZOJ5373【NOIP2017提高A组模拟9.17】信仰是为了虚无之人
2017-09-18 20:46:19 416
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人