当前位置: 首页 > news >正文

找网络公司做网站需要注意网站做互动

找网络公司做网站需要注意,网站做互动,深圳大鹏住房和建设局网站,网站建设与维护笔记向量空间 向量空间亦称线性空间。 形式化的#xff0c;我们定义一个向量空间\((P,V,,\cdot)\) 其中 \(P\)是一个域#xff0c;\(V\)是一个非空的集合#xff0c;其中的集合称作向量#xff0c;同时定义两种运算分别为向量加法和标量乘法 一个\(P\)上的向量空间\((P,V,,\cdo… 向量空间 向量空间亦称线性空间。 形式化的我们定义一个向量空间\((P,V,,\cdot)\) 其中 \(P\)是一个域\(V\)是一个非空的集合其中的集合称作向量同时定义两种运算分别为向量加法和标量乘法 一个\(P\)上的向量空间\((P,V,,\cdot)\)需满足以下8条公理其中的\(u,v,w\in V\),\(a,b\)是标量 \(u(vw)(uv)w\)\(uvvu\)\(\exists\mathbf{0}\)\(s.t. \ \ v\mathbf{0}v\)\(\forall v\in V,\exists w\in V\)\(s.t.\) \(v w 0\)\(a(uv)auav\)\((ab)vavbv\)\(a(bv)(ab) v\)\(\exists 1,s.t. \ 1 \cdot vv\) 基basis 向量空间\(V\)的基是可以张成\(V\)的一个线性无关的向量组其中的元素称作基向量。 异或运算线性基 把一个数的二进制表示看成是一个向量\[ \mathbf{a}_i(d_n,...d_0) \] 假设向量\(\mathbf{a}_0,\mathbf{a}_1,...\mathbf{a}_m\)的张成空间是\(S\) 定义一个向量空间\(V(\{ 0,1\} ,S,xor,\cdot)\) \(ps:\)这里我们是把异或当作加法 求法 如何求出\(V\)的一个基\(\mathfrak{B}\) 我们要做的是扫描每一个向量\(\mathbf{a}_i\)如果它存在于其它向量的张成空间中就把它去掉 如何判断每个向量能否被前面的向量张成得到 我们利用高斯消元: int a[MN],base[log_MN]; inline void calc() {//n is the highest bitregister int i,j,k;for(i0;im;i)for(jn;~j;--j)if(a[i]j1)//Scan every bit of a[I] from top to bottom{if(base[j]) a[i]^base[j];else{//Theres no vector for this bitbase[j]a[i];/*Maintain a diagonal matrixfor(kj-1;~k;--k) if(base[k](base[j]k1)) base[j]^base[k];for(kj1;kn;k) if(base[k]j1) base[k]^base[j];*/break;}} } 复杂度是\(O(mn)\)若位数较多通常采用bitset优化复杂度是\(O(\frac{mn^2}{\omega})\) 可以发现我们在维护一组向量\(base[]\)满足\(base_i\)的最高位时\(i\) 为了方便通常只把它消成一个上三角矩阵 当然你也可以把它消成一个类对角线矩阵满足每一位最多只存在于一个向量中 线性基的运用 在这里我们不严谨地称一个向量另一个向量 其实指的是每个向量对应的数的大小比较 查询最值 贪心求最大值 如果所求是类对角线矩阵直接将所有向量相加即可如果所求的是上三角矩阵从高到低遍历每个向量若ans加上当前的向量会变大就将其贪心的加上 最小值是线性基中最小的向量 查询第k小值 首先在去重的前提下。 首先我们求出类对角线矩阵 那么如果 \(k(100101)_2\)我们所求的即为\(base_0 base_2base_5\) 也就是各位所对应的数Xor起来即可 查询和是第几大 如果在去重的前提下和查询第k小差不多。 如果不在去重的前提下的话 设\(m\)为给出数的个数 \(\mathfrak{B}\)为所求线性基 结论每个数都出现一样的次数且这个次数为 \(2^{m - \vert \mathfrak{B}\vert}\) 证明 所有不在线性基中的数的个数为 \(m - \vert \mathfrak{B}\vert\)我们任意选择它的一个子集 \(S\)对于 \(S\) 中的每个数 \(v\)有唯一的方式表达为 \(\mathfrak {B}\)中向量的线性组合。我们对于每个 \(v\)将这个线性组合中的向量都选上一个向量选多次可以看作是次数对\(2\)取模后的结果两个相同的数异或起来得到 \(0\)所以对于每个数 \(x\)我们都能找到至少\(2^{n - \vert \mathfrak{B}\vert}\) 种不同的选择方案使得异或值为 \(x\)。又因为对于每个子集 \(S\)为了使得最终异或值为 \(x\)选择线性基中的向量的方案是唯一的所以上界也是 \(2^{n - \vert \mathfrak{B}\vert}\)。 此结论同时出现在2019/2/24 福建四校联考中的T1 总结 观察大佬博客Sengxianblog后...... 线性基的题型相对比较固定看到下面的类型基本上都是线性基了 最大异或和 例题luogu模板题第 \(k\)大异或和/异或和是第几大 例题bzoj 2844求所有异或值的和 例题bzoj 3811线性基中的题目中还用到一个技巧 任意一条\(1\) 到 \(n\) 的路径的异或和都可以由任意一条 \(1\)到 \(n\) 路径的异或和与图中的一些环的异或和来组合得到。例题bzoj 2115这便是线性基的全部东西了。 Code 洛谷P3812 #includebits/stdc.h #define ll long long using namespace std; inline ll read() {ll x0,f1;char chgetchar();while(ch0||ch9){if(ch-)f-1;chgetchar();}while(ch0ch9){x(x3)(x1)ch-0;chgetchar();}return x*f; } #define MN 55 ll n,base[MN],ans; inline void insert(ll x) {register int i,j;for(i50;~i;--i)if(xi1){if(base[i]) x^base[i];else{base[i]x;for(ji-1;~j;--j)if(base[j](base[i]j1))base[i]^base[j]; for(ji1;j50;j)if(base[j]i1)base[j]^base[i];break;}} } int main() {nread();register int i;for(i1;in;i) insert(read()); for(i0;i50;i) ans^base[i];return 0*printf(%lld\n,ans); } bzoj 2115 Xor link dfs出所有的环 求出它们的线性基 #includebits/stdc.h #define ll long long #define max(a,b) ((a)(b)?(a):(b)) #define min(a,b) ((a)(b)?(a):(b)) inline ll read() {ll x0,f1;char chgetchar();while(ch0||ch9){if(ch-)f-1;chgetchar();}while(ch0ch9){x(x3)(x1)ch-0;chgetchar();}return x*f; } const int MN200005,mN50005,_61; ll a[MN],tp,dfn[mN],dind,Xor[mN],b[_]; struct edge{int to;ll w;int nex;}e[MN1]; int N,M,hr[mN],en; ll ans0; inline void ins(int x,int y,ll w) {e[en](edge){y,w,hr[x]};hr[x]en;e[en](edge){x,w,hr[y]};hr[y]en; } inline void tj(int x,int f) {register int i;dfn[x]dind;for(ihr[x];i;ie[i].nex)if(e[i].to^f){if(!dfn[e[i].to]) Xor[e[i].to]Xor[x]^e[i].w,tj(e[i].to,x);else a[tp]Xor[x]^Xor[e[i].to]^e[i].w;} } inline void calc() {register int i,j,k;for(i1;itp;i)for(j_-1;~j;--j)if(a[i]j1){if(b[j]) a[i]^b[j];else{b[j]a[i];break;}}ansXor[N];for(i_-1;~i;--i) if((ans^b[i])ans) ans^b[i]; } int main() {Nread();Mread();int x,y;while(M--) xread(),yread(),ins(x,y,read());tj(1,0);calc();return 0*printf(%lld\n,ans); } 2019福建四校联考T1 link~ 首先容斥一下转而求异或值为1的个数\[ans(2^n-1)(2^m-1)-num1\] 然后对于一行如果这一行的异或值不为0它总有\(2^{m-1}\)个选法使得选出的点的异或值是1易证 把每行当做一个数我们只需要求出有哪些行的异或值为0\[num12^{m-1}*(2^n-cnt0)\] 我们求出线性基根据线性基的性质异或值为0的个数一定是\(2^{n - \vert \mathfrak{B}\vert}\) /* 2019/2/26 15:21 */ #includebits/stdc.h #define ll long long #define max(a,b) ((a)(b)?(a):(b)) #define min(a,b) ((a)(b)?(a):(b)) inline int read() {int x0,f1;char chgetchar();while(ch0||ch9){if(ch-)f-1;chgetchar();}while(ch0ch9){x(x3)(x1)ch-0;chgetchar();}return x*f; } const ll mod998244353,MN2005; std::bitsetMN a[MN],base[MN]; int N,M,B; ll ans; inline void calc() {register int i,j,k;for(i1;iN;i)for(jM-1;~j;--j)if(a[i][j]){if(base[j].count()) a[i]^base[j];else{base[j]a[i];break;}}for(i0;iM;i) if(base[i].count()) B; } inline ll fpow(ll x,int m) {ll r1;for(;m;m1,x1ll*x*x%mod) if(m1) r1ll*r*x%mod;return r; } int main() {freopen(password.in,r,stdin);freopen(password.out,w,stdout);Nread();Mread();register int i,j;for(i1;iN;i)for(j0;jM;j) a[i][j]read()1;calc();ans(1ll*(fpow(2,N)-1)*(fpow(2,M)-1)%modmod)%mod;ans-(1ll*fpow(2,M-1)*(fpow(2,N)-fpow(2,N-B)mod)%mod)%mod;ansmod,ans%mod;return 0*printf(%lld\n,ans); } 暂时咕咕咕。 Blog来自PaperCloud未经允许请勿转载TKS 转载于:https://www.cnblogs.com/PaperCloud/p/10428084.html
http://www.zqtcl.cn/news/124607/

相关文章:

  • 什么样的网站可以做站内站房地产的设计网站建设
  • 成都住房和城乡建设局 网站首页深圳西乡建网站
  • 商城类的网站一般怎么做开发app软件的步骤
  • 招聘网站做销售怎么样做网站后台学什么专业
  • 帮别人做彩票网站餐饮网站建设需求分析
  • 企业服务平台工程建设云深圳网站建设专业乐云seo
  • 怎么建立小公司网站抖音运营推广
  • 无锡地区做网站嵌入式软硬件开发
  • 网站建设框架怎么写企业网站本身应该就是企业( )的一部分
  • 如果做公司网站WordPress出现归档
  • 温州开发网站公司阿里云 拦截网站
  • 网站建设与管理实践实践报告南宁小程序建设
  • 网站后台功能技术要求网站建设 手机和pc
  • 嘉兴住房和城乡建设厅网站仿网站被封怎么办
  • 设计君seo查询怎么查
  • 购物网站ppt怎么做网站建设的申请理由
  • 美食网站要怎么做背景墙素材高清图片免费
  • 广东专业网站优化制作公司做编辑器的网站
  • 优惠券怎做网站自己注册网站
  • 网站建设中应该返回502还是301动画短视频制作教程
  • o2o网站设计公司韩都衣舍网站建设
  • 做网站用别人的源码可以吗在线视频制作
  • 响应式网站 有哪些弊端北京网站建设怎么样
  • 轮播网站碑林微网站建设
  • 韩国网站免费观看网站建设 博客
  • 网站网商wordpress图片生成插件下载
  • seo网站营销推广桂林网站建设内容
  • 乐达淄博网站建设制作html网站开发流程
  • 赤峰网站建设flash教程网站都有哪些
  • 网站建设哪里学成品短视频app源码搭建