
二进制
二分抄代码
去了18ec没资格去19ec的反向训练选手
展开
-
AtCoder Beginner Contest 201 E - Xor Distances
https://atcoder.jp/contests/abc201/tasks/abc201_e这应该是个人尽皆知经典傻逼题然而我想了一年a[u]为根节点到u的异或,dist[i,j]=a[i]^a[j]然后他要求和,我们发现可以把他们分成二次幂来统计数量求和,然后就没了,我太菜了#include<bits/stdc++.h>using namespace std;typedef long long ll;const int maxl=3e5+10;const in原创 2021-05-17 03:12:09 · 495 阅读 · 0 评论 -
AtCoder Regular Contest 116 D - I Wanna Win The Game
https://atcoder.jp/contests/arc116/tasks/arc116_ddp[k][i]表示当前已经枚举到2^k了,然后背包容量是i的时候方案数是多少每次枚举当前2^k放多少个去填,因为要是异或=0,所以必须偶数个,然后方案数就是n个里面选t个位置放下这些2^k,就是C(n,t)k=logm i=m t=m/2^k ,所以复杂度是O((n+m)log^2m) ,感觉n,m=2e4也能过啊#include<bits/stdc++.h>using na.原创 2021-03-31 23:45:21 · 195 阅读 · 2 评论 -
L. Lottery 2020ccpc绵阳现场赛
wa到最后半小时才过。。。对幂次排序对于每一段可以连续进位进到的地方,从每一位乘以2的幂次转移到最低位,那么这一段能够得到的方案总数就是各位的数量在最低位上的总和比如2^0有4个,2^1有1个,那么他最多就进位到2^2,不会影响2^3,所以直接把2^1上的1加到2^0上面,然后他们能得到所有不同的方案就是(6+1)=7,数字7是达不到的,后面如果2^3有1个,就直接乘以(1+1),即数据 3 \n 0 4 1 1 3 1 答案是(6+1)*(1+1)=14注意判断当前短累计和的时候,如果原创 2020-11-01 19:42:07 · 1834 阅读 · 1 评论 -
hdu6836 Expectation 2020杭电hdu多校第6场
与运算显然按位考虑,每次把当前枚举位i为1的边全部拿出来,那么这一位的总贡献就是2^i*生成树数量,生成树数量可以用矩阵树定理算出来。最后把每一位的贡献加起来,除以所有边算出来的生成树数量。#include<bits/stdc++.h>using namespace std;const int mod=998244353;long long a[33][105][105];long long inv(long long x){ return x==1?x:(mod-mo原创 2020-08-06 17:17:15 · 300 阅读 · 0 评论 -
codeforcers1383B GameGame
https://codeforces.com/contest/1383/problem/B异或值最大的题肯定按位从高到低考虑如果这一位数量%4=1,肯定是先手必胜,如果%4=3,我们发现先手必输,所以就要先抢剩下的数字,那么剩下的数字如果是奇数,则先手胜利,如果是偶数则后手胜利。如果%2==0,那么这一位肯定是平局,继续考虑更小的一位。...原创 2020-07-25 00:39:17 · 414 阅读 · 0 评论 -
codeforces1325D. Ehab the Xorcist
https://codeforces.com/contest/1325/problem/D菜不成声.jpg写了个假做法还觉得巨对,一直wa18,这题关键是想到异或和和加法和奇偶性相同,那么最多3个就能解决,u,(v-u)/2,(v-u)/2然后2个的情况就是,如果u和(v-u)/2二进制没有一位是相同的,那么(v-u)/2可以合并进入u,1个的情况就是1个,再写写别的特殊情况...原创 2020-03-15 19:28:49 · 731 阅读 · 0 评论 -
codeforces1303D Fill The Bag
https://codeforces.com/problemset/problem/1303/D先把所有数字放进num[0-62],表示2^i有多少个然后对于n的二进制表示从小到大考虑,如果num[i]有剩余,那么num[i+1]+=num[i]/2如果某个时刻n>>i&1,但是num[i]=0,则需要去min(j)(j>i && num[j]...原创 2020-02-13 16:31:17 · 191 阅读 · 0 评论 -
codeforces1217C The Number Of Good Substrings
https://codeforces.com/problemset/problem/1217/C考虑到2^20>2e5那么长度肯定不超过20了,所以直接枚举就行为了避免重复,我们考虑枚举每一个二进制数的第一个1的位置,不管他左边有多少0。每往右边移动一位,这个数字就会变大,左区间就会更左,因为我们枚举的是第一个1位置,所以左区间l必须大于上一个1的位置last,即l>l...原创 2019-09-06 00:48:21 · 910 阅读 · 0 评论 -
hdu6726 Transformation 2019百度之星复赛1002
http://acm.hdu.edu.cn/showproblem.php?pid=6726考虑A,B操作,可以发现每次A操作(a,2*(b-a)+a)->(a,4*(b-a)+a)->(a,8*(b-a)+a),B操作也是类似。可以看见每次a,b之间的长度增长是原始长度的len=abs(b-a)的二的幂次倍而且a,b移动的长度也原始长度len的2的幂次倍于是只要(a,...原创 2019-08-31 23:07:39 · 225 阅读 · 0 评论 -
X or What?(2019 Google Kickstart Round D)
题目链接:https://codingcompetitions.withgoogle.com/kickstart/round/0000000000051061异或的神奇性质。a^b,那么实际上是b的二进制中为1的位置,会让a中对应位置翻转(0^1=1,1^1=0),所以这题要求一个保证异或和的二进制的1的位数为偶数的最长子区间的长度,就可以用以上性质了,a^b,如果b的1的个数时偶数,那么a的...原创 2019-07-28 16:35:25 · 1116 阅读 · 0 评论 -
hdu6625 2019杭电多校第五场
传送门:http://acm.hdu.edu.cn/showproblem.php?pid=6625比赛的时候想出了一个和正解差不多的类似贪心,但是实现非常麻烦,而且最后半个小时实在是写不完,写到还剩10分钟的时候放弃了。赛后打开dls直播间,看着dls画了张图,讲了一句话,秒懂,果然这种肯定是有一种很简单的贪心的,但感觉总离想到差一点。首先考虑贪心目的,我们要字典序最小,那么就要小得...原创 2019-08-06 00:00:04 · 374 阅读 · 0 评论 -
2019牛客多校第四场 D triples I
对于二进制每一位上的1进行考虑,2^0%3=1 , 2^1%3=2 , 2^2 %3=1 ,2^3 %3=2那么我们可以想到把a转化为二进制,然后他%3=1的位数有cnt1个,%3=2的位数有cnt2个。我们可以想到每个数字最多由2个数字组成,下面给出证明。那么 sum=a%3,如果sum=0,那么直接一个数字带走a了如果sum=1:那么如果cnt1>0,那么就...原创 2019-07-27 20:32:29 · 212 阅读 · 0 评论 -
UVALive - 7271 hihocoder 1259
训练赛的时候C想了半天没思路后,看了下K,发现了一些规律和性质,然后和qt讨论了一蛤,qt突然发现就是二进制数权值为3次幂的东西,然后就想到数位dp了,结果交上去RE,这不科学啊,拿头RE啊?然后这里改那里改还是re,于是去vj上查了一蛤这题,发现果然是oj的锅,然后发现这题在hihocoder上有,一提交就T了,然后发现原题3s时限,hihocoder上1s时限,被卡常了= =,于是看了网上题解...原创 2018-10-22 12:43:51 · 201 阅读 · 0 评论 -
AtCoder 3913 XOR Tree
套路,每个点的值等于所有与它相邻的边的值的亦或值对一段路径亦或,相当于对这段路径末端的2个点亦或,所有路径变成0,也就是把所有点变成0;所以统计所有点的值,相同就直接亦或他们之间的路径,然后消掉,不相同的,1-15最多1个,那么就状压DP一蛤#include<bits/stdc++.h>#define maxl 100010#define inf 2000000001...原创 2018-10-03 18:54:44 · 277 阅读 · 0 评论 -
HDU5975
对于第一种操作,我们枚举枚举Lowbit=1<<0,1<<1,1<<2在1-R和1到1-(L-1)中分别有多少个数,再乘以lowbit(区间长度),然后相减,注意要判断R和L-1是否有枚举的lowbit这一位,来准确计算有多少数,R/lowbit的意思就是把最后几位为0,lowbit为1,前面剩下的位数到0的个数就是所求值了,比如要求1--12中有多少个末尾是1...原创 2018-10-03 11:09:16 · 308 阅读 · 0 评论