YBTOJ洛谷P4869:出现位置(线性基)

解析

关键结论:

nnn 个数组成的线性基大小为 SSS,则其子集异或组成的结果有 2S2^S2S 种,且每种结果都有 2n−S2^{n-S}2nS 种方案。

证明:考虑 n−Sn-SnS 个没有加入线性基的元素的任意一个子集,其异或和为 xxx,线性基中的互不相同的 2S2^S2S 种异或和分别与 xxx 异或,必然得到 2S2^S2S 种不同结果,又由于这 nnn 个数异或的结果只有 2S2^S2S 个,所以就是每种结果的方案+1。一共有 2n−S2^{n-S}2nSxxx,每种结果也就有 2n−S2^{n-S}2nS 个方案。

有了这个结论本题也就结束了,直接求出排名后乘一个2的幂次即可。

代码

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define int ll
#define debug(...) fprintf(stderr,__VA_ARGS__)
#define OK debug("OK\n")
inline ll read(){ll x(0),f(1);char c=getchar();while(!isdigit(c)){if(c=='-') f=-1;c=getchar();}while(isdigit(c)){x=(x<<1)+(x<<3)+c-'0';c=getchar();}return x*f;
}
const int N=4e5+100;
const int mod=1e9+7;
int n,m,d;ll a[70],mi[70],o=30,num;
inline int ins(int x){for(int i=o;i>=0;i--){if(!(x&mi[i])) continue;if(!a[i]){a[i]=x;return true;}x^=a[i];}return false;
}
int rnk(int x){int res(0),now=num;for(int i=o;i>=0;i--){if(!a[i]) continue;now--;if(x&mi[i]){//x^=a[i];res+=mi[now];}}return res;
}signed main(){
#ifndef ONLINE_JUDGEfreopen("a.in","r",stdin);freopen("a.out","w",stdout);
#endifmi[0]=1;for(int i=1;i<=o;i++) mi[i]=mi[i-1]<<1;n=read();for(int i=1;i<=n;i++) num+=ins(read());//for(int i=0;i<=o;i++) if(a[i]) printf("%lld ",a[i]);//puts("");int ans=rnk(read());for(int i=1;i<=n-num;i++) ans=ans*2%10086;printf("%lld\n",(ans+1)%10086);
}
/*
*/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/316969.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

.NET Core开源行动:一键创建Excel Add-in

作为.NET Core开源行动的一部分&#xff0c;我此前已经创建和发布了一套基于.NET Core的Office 365开发模板库&#xff0c;是针对Microsoft Graph开发的场景的&#xff0c;有兴趣可以参考 https://github.com/chenxizhang/dotnetcore-office365dev-templates-msgraph &#xff…

【学习笔记】最小生成树系列的必做经典题

最小生成树系列【模板】最小生成树prim算法kruskal算法Borůvka (Sollin)算法次小生成树最小生成树计数最优比率生成树最小乘积生成树最小度限制生成树最小方差树【模板】最小生成树 prim算法 最小生成树的prim\text{prim}prim类似于最短路的dijkstra\text{dijkstra}dijkstra…

2017 ICPC沈阳区域赛

2017 沈阳区域赛 题号题目难度知识点ABBP FormulaBBridgeCEmpty Convex PolygonsDDefense of the AncientsEFive-round Show HandFHeron and His Triangle铜牌题推式子思维GInfinite Fraction Path快银稳铜dfs剪枝HLegends of the Three KingdomsILittle Boxes签到题大数JNew …

YBROJ洛谷P3211:XOR和路径(线性基,期望dp)

解析 不难想到第一步利用期望线性性逐位考虑。 然后就变成求一个布尔变量的期望了&#xff0c;可以直接转化为求概率。 我一开始的想求从1出发异或和为0/1的概率&#xff0c;然而这个东西在原点1附近的转移特别别扭…老出现概率大于1的迷惑情况。 然后我就不会了 正解是反过…

切题 (problem)(线段树+最大流最小割)

切题 problemdescriptionsolutioncodedescription 在一个神秘的 JOSLFN 上&#xff0c;wzy 和 lqs2015 常年占据着切题榜的 rk1 和 rk2。现在他们在研究 如何快速造题并验题。 分工是这样的&#xff1a;有 n 个 wzy 负责造题&#xff0c;第 i 个 wzy 会造出恰好 ai 道题。有 m…

通过 Azure Pipelines 实现持续集成之docker容器化

IntroAzure DevOps Pipeline 现在对于公开的项目完全免费&#xff0c;这对于开源项目来讲无疑是个巨大的好消息&#xff0c;在 Github 的 Marketplace 里有个 Azure Pipeline&#xff0c;就是微软的 Azure DevOps Pipeline。实现 Docker 容器化的持续集成实现的目标&#xff1a…

YBTOJ:最小数(欧拉函数)

解析 题意可以化为&#xff1a; 8∗10x−19kn08*\frac{10^x-1}{9}kn08∗910x−1​kn0 然后用 8 尽可能的消去 9n9n9n 中的2的幂次&#xff0c;随后问题转化为&#xff1a; 10x≡1(modn′)10^x\equiv 1\pmod {n}10x≡1(modn′) 然后…我就觉得这个是exbsgs了… 但其实完全不用阿…

Acwing 1082. 数字游戏

Acwing 1082. 数字游戏 题意&#xff1a; 现在大家决定玩一个游戏&#xff0c;指定一个整数闭区间 [a,b]&#xff0c;问这个区间内有多少个不降数。 题解&#xff1a; 利用数位dp的套路来做 我们还是利用前缀和来做 我们先求1~n中满足情况的个数 对于一个n位数&#xff0c;…

天下第一 txdy (LCT+双指针+线段树)

天下第一 txdydescriptionsolutioncodedescription djq_cpp 是天下第一的。 djq_cpp 给了你一个 n 个点 m 条边的无向图&#xff08;无重边自环&#xff09;&#xff0c;点标号为 1 ∼n。祂想要考考你&#xff0c; 有多少对整数对 (l, r) 满足&#xff1a; • 1 ≤l ≤r ≤n •…

Acwing 1083. Windy数

Acwing 1083. Windy数 题意&#xff1a; Windy 定义了一种 Windy 数&#xff1a;不含前导零且相邻两个数字之差至少为 2 的正整数被称为 Windy 数。 Windy 想知道&#xff0c;在 A 和 B 之间&#xff0c;包括 A 和 B&#xff0c;总共有多少个 Windy 数&#xff1f; 题解&am…

【招聘(南京)】南京纳龙科技有限公司招高级.net开发工程师

南京纳龙科技有限公司成立于2002年12月&#xff0c;隶属纳龙科技在南京成立的研发中心&#xff0c;坐落于南京市雨花台区。公司立志以守护人类心脏健康为使命&#xff0c;专注推动心电信息化技术的发展&#xff0c;为全国各级医疗机构提供心电检查、诊断一体化的解决方案。公司…

模板:k短路(可并堆)

所谓k短路&#xff0c;就是第k短的路。 &#xff08;逃&#xff09; 解析 给出一个有向图&#xff0c;求 s−ts-ts−t 的不严格第 k 短的路径。 A*算法 对于一个状态 (x,cost)(x,cost)(x,cost)&#xff0c;即到 xxx 时走过长度为 costcostcost&#xff0c;定义一个估价函数&a…

大鱼吃小鱼(fhq-treap/线段树二分+贪心)

大鱼吃小鱼descriptionsolutioncodedescription 《大鱼吃小鱼》是一款经典的儿童益智类游戏&#xff0c;在游戏中&#xff0c;玩家所操控的“大鱼”只能吃掉体积严格小于自己的“小鱼”&#xff0c;然后玩家所操控的“大鱼”的体积就会增加“小鱼”的体积这么多的量。 知名主…

Acwing 1081. 度的数量(以及本人对数位dp的浅薄理解)

题意&#xff1a; 求给定区间 [X,Y] 中满足下列条件的整数个数&#xff1a;这个数恰好等于 K 个互不相等的 B 的整数次幂之和。 题解&#xff1a; 数位DP 技巧1&#xff1a;[X,Y]>f(Y)-f(X-1) 技巧2&#xff1a;用树的方式来考虑。 在本题中&#xff0c;题意是问[X,Y]中…

EFCore动态切换Schema

最近做个分库分表项目&#xff0c;用到schema的切换感觉还是有些坑的&#xff0c;在此分享下。 先简要说下我们的分库分表分库分表规则我定的规则是&#xff0c;订单号&#xff08;数字&#xff09;除以16&#xff0c;得出的结果为这个订单所在的数据库&#xff0c;然后他的余数…

YBTOJ:工作评估(分块)

解析 首先想想 O(nm)O(nm)O(nm) 怎么做。 从左往右扫&#xff0c;不断把当前值和 x0x_0x0​ 取 max⁡\maxmax 即可。 考虑正解&#xff1a; 设 f(l,r,w)f(l,r,w)f(l,r,w) 为初始为 www&#xff0c;工作区间为 (l,r)(l,r)(l,r) 结束后的价值&#xff0c;s(l,r)∑ilrais(l,r)\s…

黑客(续) (压位高精+状压dp)

黑客&#xff08;续&#xff09;descriptionsolutioncodedescription 【问题描述】 在破解了世界首富 Bychaha 的银行账户后&#xff0c;知名黑客 pks 发现&#xff0c;要得到 Bychaha 的全部财产&#xff0c;必须再破解一道密码。 作为客户账户安全的最后一道防线&#xff0…

东莞.NET俱乐部线下技术沙龙-活动报名

自广州.NET技术俱乐部在2018年12月08日线下活动顺利开展后&#xff0c;东莞作为兄弟城市&#xff0c;也想通过线下活动的方式&#xff0c;点燃东莞.NET技术的熊熊之火。现决定先借助广州、深圳兄弟城市的帮助下&#xff0c;开展一场东莞方主办的线下活动&#xff0c;聚集东莞本…

Acwing 1084. 数字游戏 II

Acwing 1084. 数字游戏 II 题意&#xff1a; 指定一个整数闭区间 [a.b]&#xff0c;问这个区间内有多少个取模数。 取模数&#xff1a;这种数字必须满足各位数字之和 mod N 为 0。 题解&#xff1a; 数位dp 这里不细讲数位dp了&#xff0c;可以看看 Acwing 1081. 度的数量&…

ybtoj洛谷P3268:圆的异或并(扫描线)

解析 很神奇的一道题。 关键条件&#xff1a;任意两个圆无交。 把一个圆分成上下两个圆弧&#xff0c;那么所有圆弧的高度关系不会发生变化。 所以可以开一个 set&#xff0c;维护一个从左往右扫的扫描线&#xff0c;按照当前扫描线的横坐标定义比较符号&#xff0c;在圆的最…