
构造
Aurum_potestas_est
这个作者很懒,什么都没留下…
展开
-
CF100801 hash
给定一个字符串hash,为 ∑i=0len−1str[i]×31len−1−i 求 K个长度不超过 1000的字符串,使得他们的 hash值相等 其中每个 hash值是 32位有符号整数,K≤1000 思路:将字符串看成是31进制,前一位-1,后一位+31,转换成十进制的结果是不变的#include<stdio.h>#include<string.h>using namespace s原创 2017-10-06 19:31:37 · 263 阅读 · 0 评论 -
gym101431D(传说中的构造(呸))
借了某位大佬的思路 http://blog.youkuaiyun.com/wuxufanzhong/article/details/75909631 菜鸡到一旦循环从0开始而非1开始就会计数混乱QAQ#include<bits/stdc++.h>using namespace std;int s[50007];int main(){ int n,x; while(~scanf("%d%原创 2017-09-22 01:26:48 · 708 阅读 · 0 评论 -
Codeforces 862C(构造)
最近好像老是跟构造过不去눈_눈 题意:给出n与x,要求先说可不可以给出n个数字使其异或和为x,如果可以,那么输出这n个数字。 思路: 1、首先要知道(x^y^(x+y))=0,手动列一下式子就粗来了눈_눈 2、然后0和k(k为任何数字)异或的结果是k(当年pascal的基础大概是被我吃了) 一开始定义的max1和max2的位数极长,换算成十进原创 2017-09-22 15:20:12 · 1250 阅读 · 0 评论 -
codeforces884C(暴力想法题?)
题意:输入n表示有n个车站 输入n个数,表示这些从这些车站出发可以到达的车站 输出:最多修改两个车站的到达站点,并且满足限制条件,求最大的路线数。 限制条件:一个车站有且仅有一个到达车站。 可以从这个车站到它本身 思路:其实就是一个很简单的题目… 由于公式a^2+b^2<(a+b)^2,易知我们只需找出两个最大的环,将这两个环融合。然后每个环内节点数的平方原创 2017-10-28 02:10:48 · 559 阅读 · 0 评论 -
codeforces884D(大概是构造,优先队列)
<回头补题意和分析> WA代码(没有用优先队列):#include<bits/stdc++.h>using namespace std;vector<int> a;int main(){ int n; long long ans=0; cin>>n; for(int i=1;i<=n;i++){ int num; cin>>nu原创 2017-10-28 12:34:08 · 764 阅读 · 0 评论 -
Codeforces864D(构造水题?)
题意:给一个n,然后给出n个范围在1到n之间的数,问最少改变几个数字才能得到一个完整的从1到n的序列,然后输出这个序列并保证这个序列的字典序最小。 分析:首先n小于2e5,那么直接暴力就可以了…… AC代码:#include<bits/stdc++.h>using namespace std;const int maxn=2e5+7;int a[maxn],pre[maxn],mis[ma原创 2017-11-16 01:33:22 · 372 阅读 · 0 评论 -
codeforces960C(构造)
题意:在原列中,只有最大元素-最小元素< d的组合被保留,已知保留下的组合数X和d,求可能的原列。输出原列中的元素个数n(n<=10000)以及各元素。 分析:比的时候想多了,一个列中可以有重复元素。每多增加一个元素a,它和列中的其他a构成满足条件的子集的个数就增加2^(a的原数量)个,所以可以很方便很快捷的构造… AC代码:#include<bits/stdc++.h&...原创 2018-04-08 23:10:45 · 291 阅读 · 0 评论 -
codeforces962C(暴力的构造)
题意:给出一个数字n(1<=n<=2000000000),问最少删掉n中的几个数,能使得剩下的值变成平方数(不包括0)。 分析:为啥第一次错了呢?为啥比赛的时候wa了呢?因为我把0加进去了啊╮(╯_╰)╭ n最多10位数,化成字符形式一位位匹配过来就行了。我都不好意思说是构造……AC代码:#include<bits/stdc++.h>usi...原创 2018-04-16 01:11:01 · 430 阅读 · 0 评论 -
codeforces987E(想法?)
题意:给出一个1到n的序列,Petr打乱了3n次,Um_nik打乱了7n+1次,现你有打乱后的数列,求是谁打乱的。 分析:比赛的时候怕是失了智在那边想随机算法…事实上用选择排序,找出最少交换次数,然后判断奇偶性就可以了…… for(int i=1;i&lt;=n;i++){ cin&gt;&gt;now[i];//目前所占i这个位置的数字 pos[n...原创 2018-05-30 17:22:49 · 423 阅读 · 0 评论