【模拟7.14】建造游乐园(play)】的更多相关文章

Orz 出题人石二队爷 我们可以先求出有n个点的联通欧拉图数量,然后使它删或增一条边得到我们要求的方案 也就是让它乘上$C_n^2$ (n个点里选2个点,要么删边要么连边,选择唯一) 那么接下来就是求有n个点的联通欧拉图数量$f[n]$ 首先来看欧拉图的定义: 一张无向图为欧拉图,当且仅当无向图连通,并且每个点的度数都是偶数. 那么设共有n个点且所有点度数皆为偶数的方案数为$g[n]$ 之后尝试计算出来它 先把一个点拿出来,剩$n-1$个点 从这$n-1$个点中选2个点,这两点之间可以连或不连边…
T3建造游乐园 这题的关键是推式子 i个点中,有g[i]个方案是度为偶数但不一定连通那么就要减去不合法的设已有j个合法,其个数为f[j],剩下i-j个的方案数是g[i-j]选出来一个固定的点在合法的j个之中对于 与这个点连接的j-1的点的选择方案数为C(i-1,j-1) #include<iostream> #include<cmath> #include<cstdio> #define ll long long using namespace std; ; ll g[…
---恢复内容开始--- 序列 刚调出来样例就A了,假装是水题. 因为是乱序,我们要求出来每两项之间最小公比,而不是直接比 求出来每两项之间最小公比,然后扫一遍就完了.(还要注意重复情况) 那么问题就转化成了怎么求最小公比. 完了 以下是本人丑陋的代码 #include<bits/stdc++.h> #define ll long long #define A 100000 using namespace std; ll n,a[10*A],tot=0,maxlen[10*A],nowlen=…
JZOJ [NOIP2017提高A组模拟9.14]捕老鼠 题目 Description 为了加快社会主义现代化,建设新农村,农夫约(Farmer Jo)决定给农庄里的仓库灭灭鼠.于是,猫被农夫约派去捕老鼠. 猫虽然擅长捕老鼠,但是老鼠们太健美了,身手敏捷,于是猫想到了一个绝妙的办法:它决定点燃纯艾条,用烟熏老鼠. 农夫约的农庄里有N 个仓库,排成了一排,编号为1-N. 假设猫在第i 个仓库点燃艾条,烟雾就会充满该仓库,并向左右扩散Ai的距离,接着所有|i-j|<=Ai 的仓库j 的老鼠被消灭.…
考场 \(65+5+0\),并列 rk2 最高分 \(55+10+10\) T1:等比数列可以写作 \(q^kx\),发现 \(q\le1000\) 且有一档分为 \(a_i\le100\),想到 \(2^{60}>10^{18}\),即等比数列的长度最多为 \(59\),这样枚举的区间就从 \(n^2\) 下降到了 \(60n\).对于每个区间,排序后枚举 \(q\),通过预处理 \(q\) 的次幂大力剪枝,复杂度不明.写了很久,最终有RE有TLE. T3:虽然以前学过欧拉路,但之后再没写过,…
这题是玄学的数论 首先考虑如何枚举偶数点度的图 可以考虑取出i-1个点 那么成图的数量为2^C(i-1,2) (原因单独取出的i点能平衡已建图中的奇数点,原因是某种性质....) 然后求带联通标号的欧拉图 1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<string> 5 #include<algorithm> 6 #include<vector&…
考完19了再写14,我也是够咕的. 14的题很好,也充分暴露了我的问题. T1是个分析性质推结论的题 对于区间[L,R],不妨设a[L]!=a[R],那么两个端点对答案没有贡献,也就是[L+1,R],[L,R-1]都是符合题意的区间. 即 最优的区间的两个端点一定相等 然后把每个数的位置和大小作为区间的两端点,统计答案即可. #include<bits/stdc++.h> #define F(n) for(int i=1;i<=n;i++) ],sum[],n,ans; std::vec…
#14: T1:f[x]=x-1(x&1)||x/2(x&1=0) 求[n,m]有多少个数可以通过变换得到k.(1e9). =>好像cf上看过类似的题,用二进制的方式来写.不过我没有考虑111的情况算出来的是110的结果.所以WA了.而且也写的非常复杂. =>T1难度一般不大应好好的想想. T2:(n,m)有向图,可有自环和重边,求多少种方案使得从(1,n)至少经过n-1条边. =>组合数学(线性求逆元或费马小定理求逆元).我不会隔板法求组合数所以不会. 隔板法:http…
一大排并列Rank#9之一. 考试题还没改完(而且并不会模拟退火)所以题解又只能咕了 然而并不想吐槽T2对sjzyz是原题导致4个AC里面有3个他们的 虽说这次的成绩不怎么样,但是这次的考试过程是全新的感受,值得记录一下(以后遇到这种情况可能会比较多) 开题,看T1,题面很愚蠢,貌似很简单,数据范围100000,想了半天从n3优化成n2,先不打,换换思路进T2 看一眼,BFS啊.好像挺水的. 然而真的只是看了一眼并没有好好看题,题意理解错,全盘皆输. 45分钟左右码完,一遍过3个样例,交上去.…
题目 分析 比赛上,没有注意到询问只询问光标前面,于是只打了个暴力. 因为询问只询问光标前面,首先,当光标向后每移动到一个位置,顺便将这个位置的前缀和,和最大前缀和求出来. 总之,模拟 #include <cmath> #include <iostream> #include <cstring> #include <cstdio> #include <cstdlib> using namespace std; const int maxlongi…