
思维
人菜瘾大aaabbbb
这个作者很懒,什么都没留下…
展开
-
HDU - 5573 2015ICPC B-Binary Tree(二进制构造、二叉树找规律)
题意: 在一颗满二叉树中从根节点出发选一个路径,每个节点可加可尖,最终得到数n,输出路径。 思路: 最靠左的那条链可以表示出任何数,因为都是2的倍数,相当于用二进制在表示。需要注意的是,每个数+和-相差的是这个数的2倍,所以需要将n/2进行二进制运算。 #include<bits/stdc++.h> using namespace std; typedef long lon...原创 2019-10-16 21:26:56 · 243 阅读 · 0 评论 -
Codeforces Round #529 (Div. 3) D. Circular Dance 思维
题意:有n个数1-n,输入n组数,每组两个数代表这两个数顺序都是在第i个数后面的,但是这两个数之间的位置不确定,让你将n个数构成的环输出。 #include<bits/stdc++.h> using namespace std; struct node { int n1,n2; }a[1000000]; int vis[1000000]; int solve(int cn...原创 2019-01-12 17:05:45 · 186 阅读 · 0 评论 -
Educational Codeforces Round 57 (Rated for Div. 2) B 思维
#include<bits/stdc++.h> using namespace std; typedef long long ll; const ll mod=998244353; char s[1000100]; int main(){ ll n; cin>>n; cin>>s; ll l=1,r=1; for(int...原创 2019-01-13 01:02:06 · 125 阅读 · 0 评论 -
Educational Codeforces Round 55 (Rated for Div. 2) C 前缀和&思维
题意:n个人,m种课程,每个人掌握一种课程,有个掌握分数,可能是负数,选择一部分人使得掌握分数之和最大,选择的每门课程的人数必须相等 需要注意当前种类当前选择人数如果贡献值是负的就不选了。还看到一些每次排序写法,一开始以为那种复杂度比较大过不了的,emmmm #include<iostream> #include<algorithm> using namespace...原创 2019-01-13 15:04:53 · 132 阅读 · 0 评论 -
Codeforces Round #525 (Div. 2) C 逆向思维
分析:需要一点逆向思维; #include<bits/stdc++.h> using namespace std; int a[10100]; int main(){ int n; cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } cout<<...原创 2019-01-14 13:23:40 · 135 阅读 · 0 评论 -
Codeforces 539 (Div. 2) C.Sasha and a Bit of Relax (前缀异或 // 异或性质 // 计数方法 // 思维)
#include <bits/stdc++.h> using namespace std ; const int Maxn = 3e5 + 10 ; int pre[Maxn],cnt[2][10000010]; int a[Maxn] ; int n ; typedef long long ll; int main(){ cin>>n; pre[0]=0...原创 2019-02-22 20:10:27 · 144 阅读 · 0 评论 -
Educational Codeforces 30 B. Balanced Substring 前缀和&&思维
题意: 给一个01串寻找一个最长字串,这个字串中的0和1数量相等 思路: 将0变成-1,求前缀和,两个位置前缀和大小相等,说明这之间的01数量相等 注意!第0位的前缀和位0 #include<iostream> #include<map> using namespace std; int sum[100010]; char s[100010]; map<i...原创 2019-02-24 09:41:21 · 201 阅读 · 0 评论