构造
Freopen
这个作者很懒,什么都没留下…
展开
-
20200603 模拟赛 排列
题解:n!n!n!个排列可以看做n!n!n!个nnn维点,那么序列xxx可以被构造出来当且仅当xxx在这些点的凸包上(是刚好在表面上而非内部。)探索在凸包上的条件:1.∑x=n(n+1)2\sum x = \frac {n(n+1)}2∑x=2n(n+1)2.∑i=1kyi≥k(k+1)2\sum_{i=1}^k y_i \geq \frac {k(k+1)}2∑i=1kyi≥2k(k+1),其中yyy是给xxx按从小到大排序得到的数组。这两个条件都是必要的。第二个条件,因为前kkk..原创 2020-06-03 22:01:35 · 197 阅读 · 0 评论 -
CodePlus7 神秘序列
没错,就找到这样一种方法之后二分+模拟即可。卡时间可以去OEISOEISOEIS搜一波发现n2n+k\frac {n^2}{n+k}n+kn2约等于π\piπ然后就可以O(n)O(n)O(n)过掉这题了。AC Code\mathcal AC \ CodeAC Code#include<bits/stdc++.h>#define LL long long#define Pi 3.1415926535897932384626433832795using name.原创 2020-05-25 17:16:59 · 639 阅读 · 0 评论 -
排序(基数排序,构造题)
AC Code\rm AC \ CodeAC Code#include<cstdio>#include<cstring>#include<algorithm>#include<vector>using namespace std;#define N 15005int n,m,a[N],rk[N];char s[...原创 2020-05-06 12:31:19 · 274 阅读 · 0 评论 -
排列(猜想归纳法)
AC Code\rm AC\ CodeAC Code#include <bits/stdc++.h>const int N=50005;int n,T,p[N],q[N],a[N],m;int main(){ scanf("%d%d",&n,&T); for(int i=0;i<n;++i)scanf("%d",p+i),...原创 2020-05-06 12:23:46 · 217 阅读 · 0 评论 -
省选模拟:Every one will meet some difficult
请务必按顺序看。题解1题解2题解3好了可以骂我毒瘤博主了。题解3的巧妙之处在于把多项式的次数从sss转移到了mmm,但是实在是太巧了,恰好覆盖了所有题目中的已知有用条件(t≤1e5t\leq 1e5t≤1e5不算,这个做法可以做t≤1e18t\leq 1e18t≤1e18的)。给个代码吧。#include<bits/stdc++.h>#define LL long lo...原创 2020-04-02 09:44:27 · 297 阅读 · 0 评论 -
LOJ #2158. 「POI2011 R1」移方块 Shift(构造)
题目我太难了。发现把第三个放到开头有点鬼畜。我们来把这个操作规约到我们熟悉的操作。做一次AABAABAAB我们得到了什么?把[2,n][2,n][2,n]每个数向后移两个位置。所以我们可以从i=[2,n]i=[2,n]i=[2,n]依次把iii移到111,然后把1.2.3..i−11.2.3..i-11.2.3..i−1这个之前已经排好序的序列用AABAABAAB移到整个序列的最后,如...原创 2019-12-25 20:28:36 · 185 阅读 · 0 评论 -
LOJ #2156. 「POI2011 R1」棒棒糖 Lollipop(构造)
题目我们把价格为222看做是长度为222,构成一个新的有很多个分界点为原来棒棒糖中不同口味的分界点的棒棒糖。考虑暴力,我们是从左往右扫,如果相距为kkk的两个点都是分界点,那么这就是一组答案。考虑如果1.当前两个点都不是分界点,那么右移长度1就一定两个都是。2.如果有一个不是,、那么如果是分界点那一个点后面是长度为1的口味,、那么右移长度1也可以合法,、否则:、、右移长度1,重复...原创 2019-12-25 20:15:08 · 425 阅读 · 0 评论 -
小K与奇数
n个点m条边的无向图,求出一个大小为n2\frac n22n的匹配方案,两个点可以匹配当且仅当存在两个点在原图中的一条长度为偶数的路径,求一种方案使得所有匹配的路径不边相交但是可以点相交。n,m<=1e5n,m<=1e5n,m<=1e5这个题。。。发现当且仅当边数为偶数并且每个点的度数都为奇数的时候有解。如果我们不管路径长度为偶数这个条件,那么可以把1和2...原创 2019-08-04 18:47:27 · 200 阅读 · 0 评论