2019.3.7考试T2 离线数论??】的更多相关文章

$ \color{#0066ff}{ 题目描述 }$ 一天,olinr 在 luogu.org 刷题,一点提交,等了一分钟之后,又蛙又替. olinr 发动了他的绝招,说:"为啥啊???"此时 leigehhh 拿着 6 个 map 走了过来,说: "你这个维护一个破(pre)就行了啊" olinr 恍然大悟,问 GMPotlc,"琛哥你还有 D 吗我要 维护一个 D". olinr 从 GMPotlc 那里得到了一块 n*m 大小的 D,用来种…
\(\color{#0066ff}{题解 }\) 可以发现, 数据范围中的n特别小,容易想到状压 可以想到类似于状压DP的思路,按列进行转移 那么应该有3维,\(f[i][j][k]\)代表到第i列,j的每一位表示这一行有多少连续的男生,k表示当前有多少列全是男生,的方案数 看到m的范围,我们肯定是要找一个\(O(logm)\)的东西加速转移,自然是矩阵加速 然后我们来看看有多少个状态,看看是否可行 j有\(p^n\)个,k有q个(用矩阵转移第一维自然不需要) 那么状态数依然达到了一个\(p^n…
\(\color{#0066ff}{ 题目描述 }\) 为了减小文件大小,这里不写一堆题目背景了. 请写一个程序,输入一个数字N,输出N个点的森林的数量.点有标号. 森林是一种无向图,要求图中不能存在环(图可以不连通),或者说是由若干个树组成的集合.说到森林,我就想起今年下半年,中美合拍的西游记即将正式开机,我继续扮演美猴王孙悟空,我会用美猴王艺术形象努力创造一个正能量的形象,文体两开花,弘扬中华文化,希望大家能多多关注. \(\color{#0066ff}{输入格式}\) 输入文件只有一个整数…
LOJ#3030. 「JOISC 2019 Day1」考试 看起来求一个奇怪图形(两条和坐标轴平行的线被切掉了一个角)内包括的点个数 too naive! 首先熟练的转化求不被这个图形包含的个数 -- 也不好求 我们把c转化成max(c,a + b) 就会发现这条斜线把不合法的刚好分成了三个部分,也就是第一门小于a的,总分大于c的,和第二门小于b的总分大于c的,和总分小于c的 你可以发现前两个部分是不相交的,于是开个树状数组把询问按c排序做一遍就好了,然后点集按s + t排序,小于c的就从所在的…
\(\color{#0066ff}{题解}\) #include<bits/stdc++.h> #define LL long long LL in() { char ch; LL x = 0, f = 1; while(!isdigit(ch = getchar()))(ch == '-') && (f = -f); for(x = ch ^ 48; isdigit(ch = getchar()); x = (x << 1) + (x << 3) +…
2019.3.28 : 肥肠爆芡,因为这场考试的题太屑了,所以我咕咕了 Upd on 2019.3.30 压进来一篇(因为都没啥意义) 2019.3.30 : 全机房读错题+没有大样例=T2全体爆炸 T1 寒假题,写不动,O(n^2) 60pts滚粗 T2 睿智题,大家都没好好看输入,全员爆炸 暴力分解质因数$O(n^2\log n)$ 40pts 离线的部分分莫队加上前面的暴力 70pts 正解 二维数点好题,怎么数?不要想什么怎么把数分解质因数放上去之类的,是把询问放上去数 T3 猫讲的题,…
2019.3.18 C O D E T1 树上直接贪心,环上for一遍贪心 哇说的简单,码了将近一下午终于码出来了 感觉自己码力/写题策略太糟糕了,先是搞了一个细节太多的写法最后不得不弃疗了,然后第二次思路又有问题,最后重构了两遍代码 大概先是需要多想,想清楚了不要先考虑细节,果断写+调 废话结束 对于入度大于一且不在环上的点直接贪心留最大的 对于一个完美无瑕的环直接断最小的(指没有被环以外的点指着) 对于入度大于一且在环上的点,先假装它就是普通的入度大于一的点来做并记录每个点是否断了环上的边和…
过程:太菜了,不写了 T1 基环树直径,一定学 T2 树上斜率优化,类似购票,数据结构/分治算法,一定改 (把点按深度排序倒着跑2e7次斜率优化也能A,orz zyz) T3 CC原题,码码码,一定补 一定咕 学动态点分治去了 因为各种原因又压进来一篇 过程:太菜了,不写了 T1 神tm 暴力DP+剪枝可过,我以为是暴力然后DP就没剪枝 T2 沙茶博主第一次实际应用生成函数? 根据题目中的递推关系搞出来生成函数 $f[i]=2*f[i-1]+3*f[i-2]$ $x^n=2*x^{n-1}+3*…
因为没A/改几道题,就一起写了 题目在LOJ上都能找到 2019.2.28 100+20+12 前两个小时一直在睡觉+想题也没思路,我太菜了 T1 洗衣服 分开处理出洗衣服和烘干的时间,然后一边正着排序一边倒着排序,依次匹配(小的配大的) 正确性......不会证,意会 #pragma GCC optimize(2) #include<queue> #include<cstdio> #include<cstring> #include<algorithm>…
这次写的更惨了,T2暴力再次挂掉了. 先写了T1的75暴力,然后写了T2的70分暴力(挂成了25),T3啥也不会骗了12分.T3看完题一点思路没有,心态爆炸了,一直在观察数据,忽略的思考的重要性,以至于一点都没打出来,总的来说这次考试还是挺失败的. 入阵曲:写一个式子:$(sum[r]-sum[l-1])\equiv 0 (mod\ k)$ 那么我们$O(n^2)$枚举两行,再$O(m)$扫中间,会得到一个$sum$值,查询桶里相同的值,然后再把这个值插入桶中. 将军令:很简单的贪心,我又又又又…
 OCM 全球考试安排时间表 View A Worldwide OCM Schedule Oracle Database 12c Certified Master Exam (OCM) OCM 12c 考试具体详情参考官网.点此查看官网信息 12c OCM规定了每门最低分数线,具体如下: Oracle Database 12c: Oracle Certified Master Upgrade (OCM)  OCM 12c 升级考试具体详情参考官网.点此查看官网信息 12c OCM升级考试科目为4…
删区间 题意: 给出一个长度为…
4.1:T1原题,T2码农板子题,T3板子题 4.2 好像是三个出题人分别出的 以及#define *** 傻逼 T1 思维好题 转成树形DP,$dp[i][j]$表示点i值为j的方案数,记录前缀和转移 #include<cstdio> #include<cctype> #include<cstring> #include<algorithm> using namespace std; ,Maxn=,mod=; int n,rt,cnt,p[N],noww[…
\(\color{#0066ff}{ 题目描述 }\) 由于机房被成功拯救了,花_Q很高兴,花_Q生成了一个 0 到 N - 1 的排列(排列的下标从 0 到 N - 1 ).保证排列中 0 在 N - 1 的左边. lzxkj一向很好奇,他想要知道这个排列是什么,但是由于lzxkj和阿习小pen友一起来的,的花_Q就是不告诉他. 阿习小pen友很聪明,Ta每次向花_Q询问一个区间 [l, r] ,花_Q 会告诉Ta区间 [l, r] 内的最大值减去最小值的值(极差).阿习小朋友在不超过 100…
题目背景 无 题目描述 数轴上有 n 只青蛙,分别编号为 1 到 n.青蛙 i 的初始位置的坐标为 xi. 它们准备进行如下形式的移动:每轮包括 m 次跳跃,第 i 次跳跃由青蛙 ai(1 < ai < n) 执行.青蛙 ai 会从青蛙 ai − 1 和青蛙 ai + 1 中等概率地选一 只,假设选出的青蛙所在的位置为 p,那么青蛙 ai 会跳到它当前位置关于 p 的 对称点. 青蛙们会连续进行 k 轮这样的移动.请你对每只青蛙,求出它最终坐标的 期望值. 输入输出格式 输入格式: 第一行为一…
2 树 2.1 题目描述 给一棵n 个节点的树,节点分别编号为0 到n - 1.你可以通过如下的操作来修改这棵树:首先先删去树上的一条边,此时树会分裂为两个连通块,然后在两个连通块之间加上一条新的边使得它们变成一棵新的树.问有多少棵n 个节点的树可以通过对原树进行不超过k 次这样的操作来得到,答案对109 + 7 取模.如果有一条边(u; v) 出现在了树A 中且不在树B中,我们就认为树A 和树B 是不同的.2.2 输入格式第一行为两个整数n; k.接下来一行用n - 1 个整数a1; a2;…
2.1 Description 在平面上找 n 个点, 要求这 n 个点离原点的距离分别为 r1, r2, ..., rn. 最大化这 n 个点构成的凸包面积, 凸包上的点的顺序任意. 2.2 Input Format 第一行一个整数 n. 接下来一行 n 个整数依次表示 ri . 2.3 Output Format 输出一个实数表示答案, 要求绝对误差或相对误差 ≤ 10−6. 2.4 Sample 2.4.1 Input 4 5 8 58 85 2.4.2 Output 2970 2.5 C…
题干 洛谷同款 T2?(看似比T1简单些) 二维前缀和嘛?[多简单 我天天拿二维前缀和水DP] 这是前缀和的预处理 2333 处理出来所有的情况 某个地方要加上mod再%mod 如果没有这一步 那么 70pts 然后附带5%的分值飞走.2333 然后...就A掉了 #include <bits/stdc++.h> using namespace std; typedef long long LL; inline LL read () { LL res = ; ) ; char ch = get…
T1是个容斥,我掐手指一算他为了卡容斥的正确性,绝不会把n和m出的很相近($O(n^2)$算法在nm相等的时候达到最高时间复杂度),不然就太好做了,于是开了特判+各种卡常和滚动数组优化,卡到了70分,$n^2$过100000,暴力碾标算.T2十三分钟AC没啥说的,也就是审题吧.大概是个flag了.T3的话自以为状压拿了50,看来是我太天真了.WA了10分,QJ的另外10分没拿到noooooooo.其实是题意理解有偏差. T1想了好久组合数没有想到,T2直接秒掉,T3打了半天废的,大概这就是命吧,…
这卷子还是答的挺惨的. 第一题5min写完了,自认为AC(其实WA了80),第二题推了半天CRT的公式老出错结果发现是程序打错了.第三题打模拟150行结果数组没开够,开大就是0->60的转变.状态很差,坏肚子了,一直在去厕所,看来下次早起要吃点素的了. 题解: T1方程的解. 发现就是个exgcd,先求出gcd和顺带的特解 $ x_0 y_0 $ 设 $ gcd(a,b)=d $ 这个时候用个通解公式: $ x=x_0 \frac{c}{d} + k \frac{b}{d} $ $ y=y_0…
第一题用搜索,超时了,待补 更新第一题思路 dfs + 剪枝,首先确定 n的最后一位数字肯定是9,为什么呢,因为 任意两个相邻的数肯定互为质数(gcd=1),所以 n 的末尾肯定是9,这样n+1产生的各个位数和相加的和 才能有可能和sum(n)产生gcd>2的素数, 所以k可以剪枝成k-1,缩小一位,复杂度降低很多...这样估计就能AC了. 另外判断n和n+1两个数的各个位数之和的gcd是否为大于2的素数,可以提前预处理(数据量<90), 第一题参考链接 7-1搜索 12/20分 原来写的代码…
题目传送门 题目大意 见题面. 思路 本来以为zcx.pxj变强了,后来发现是SPJ出问题了...考试的时候感觉有点人均啊...结果自己还是只想出来一半. 我们假设 \(f(x)=(\lfloor\frac{2x}{2^n}\rfloor+2x)\pmod{2^n}\),那么我们可以看出 \(f(x)\) 实际上就是 \(x\) 把第一位提到最后一位,那么我们就可以想到 \(f(a\otimes b)=f(a)\otimes f(b)\)(虽然我考试的时候就是这里没有想到). 考虑原问题,我们不…
非常nice的一道行列式的题目. 考虑如果没有路径不相交这个限制的话,那么这个题就是一个行列式:设 a[i][j] 为从编号第i小的源点到编号第j小的汇点的路径条数,那么矩阵a[][]的行列式就是的答案,因为行列式的定义就是给行一个列的排列,贡献就是所有a[i][p[i]]再乘上 (-1)^(p[] 这个排列的逆序对数). 但是路径不相交就很恶心....根本没法分开算嘛.... 不过逆序对可是有一个特殊性质的: 如果把 p[i] 和 p[j] swap一下,那么这个排列的逆序对数的变化值一定是奇…
\(\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揍…
Seg [问题描述]数轴上有n条线段,第i条线段的左端点是a[i],右端点是b[i].Bob发现1~2n共2n个整数点,每个点都是某条线段的端点.这些线段有如下两类特点:1 x y,表示第x条线段和第y条线段相交(相交在这里指至少有一个公共点)2 x y,表示第x条线段在第y条线段的左边,且它们不相交.共有m个特点,每个特点都是如上两类之一.Bob想通过这些特点推理得到每条线段的端点.[输入格式]第一行两个正整数n,m接下来m行,每行三个正整数,描述线段的特点,格式见题目描述[输出格式]输出n行…
轰炸(bomb)[题目描述]有n座城市,城市之间建立了m条有向的地下通道.你需要发起若干轮轰炸,每轮可以轰炸任意多个城市.但每次轰炸的城市中,不能存在两个不同的城市i,j满足可以通过地道从城市i到达城市j.你需要求出最少需要多少轮可以对每座城市都进行至少一次轰炸.[输入数据]第一行两个整数n,m.接下来m行每行两个整数a,b表示一条从a连向b的单向边.[输出数据]一行一个整数表示答案.[样例输入]5 41 22 33 14 5[样例输出]3[数据范围]对于20%的数据,n,m<=10.对于40%…
测试题 #4 括号括号[问题描述]有一个长度为?的括号序列,以及?种不同的括号.序列的每个位置上是哪种括号是随机的,并且已知每个位置上出现每种左右括号的概率.求整个序列是一个合法的括号序列的概率.我们如下定义合法括号序列: 空序列是合法括号序列: 如果?是合法括号序列,那么???是合法括号序列,当且仅当?和?是同种的左右括号: 如果?和?是合法括号序列,那么??是合法括号序列.[输入格式]输入第一行包含两个整数?和?.接下来的输入分为?组,每组?行.第?组第?行包含两个实数?[?,?]和?…
为什么其他人都是插值套插值啊,,,,就我是XJB做的吗2333 k次多项式的前缀和可以表示成k+1次多项式,用两次这个玩意就可以发现g可以表示成一个k+2次多项式. 然后我的做法是把g用拉格朗日插值+暴力多项式乘法乘出来,通过其他方法合并g(a),g(a+d),,,,,g(a+nd). 假设我们现在把g的多项式的每个指数的系数都求出来了,设x^i前的系数是b[i], 那么答案显然就是b[0] * a^0 + b[1] * a^1 + b[2] * a^2 +....b[k+2] * a^(k+2…
传送门 这题的DP真是刷新了我的理解,竟然还要用队列优化.... #include<iostream> #include<cstdio> using namespace std; ; long long ans,n,k; ; long long a[maxn],f[maxn],q[maxn]; inline int read() { ,f=;char c=getchar(); ; +c-'; return x*f; } int main() { n=read(); k=read()…