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

做网站什么系统好网站开发的流程

做网站什么系统好,网站开发的流程,辽宁工程建设信息网站,西安小型企业网站建设给定一长度为 N N N 的由非负整数组成的数组 a a a,你需要进行一系列操作,每次操作选择一个区间 [ l , r ] [l,r] [l,r],将 a [ l , r ] a_{[l,r]} a[l,r]​ 异或上 w w w。你需要将 a i a_i ai​ 全部变为 0 0 0。 求最小操作次数。…

给定一长度为 N N N 的由非负整数组成的数组 a a a,你需要进行一系列操作,每次操作选择一个区间 [ l , r ] [l,r] [l,r],将 a [ l , r ] a_{[l,r]} a[l,r] 异或上 w w w。你需要将 a i a_i ai 全部变为 0 0 0

求最小操作次数。

N ≤ 17 N\le17 N17


考虑两个左端点相同的修改 [ l , r 1 ] , [ l , r 2 ] ( r 1 < r 2 ) [l,r_1],[l,r_2](r_1<r_2) [l,r1],[l,r2](r1<r2),可以把它拆成 [ l , r 1 ] [l,r_1] [l,r1] [ r 1 + 1 , r 2 ] [r_1+1,r_2] [r1+1,r2],次数相同。所以没有两个区间左端点相同,反过来右端点也不相同。

a a a 序列异或差分得到 b b b,其中 b i = a i ⊕ a i − 1 b_i=a_i\oplus a_{i-1} bi=aiai1,区间修改就变成双点修改(区间非后缀)或单点修改(区间为后缀)。最后同样要求 b b b 全为 0 0 0

N N N 个数抽象成 N N N 个点,修改就是在两个点之间连边(如果是单点修改,就是自环),一组方案由几个连通块组成。先暂时不管 w w w 的取值,考虑什么情况时会存在一个 w w w

一个连通块(大小为 x x x)中的边数只可能有两种情况, x − 1 x-1 x1(一棵树), x x x(一棵树加自环)。我们的目标是让最后连通块的数全为 0 0 0

考虑树的情况,发现有解当且仅当连通块内的数异或和为 0 0 0。下证之。

必要性:每次操作都是双点修改,整个连通块内的异或和不变,而最后要求异或和为 0 0 0,那么一开始也必须是 0 0 0

充分性:考虑把这些数按编号顺序排成一排,从前往后做操作,每次操作都把最前面的消掉了(变成 0 0 0),而最后应得到全 0 0 0 的序列,所以异或和必为 0 0 0

对于有自环的情况,自环的操作把那个点改成一个适当的值,让除去自环的这棵树的异或和为 0 0 0,所以这无论如何都有解。

发现答案就是 N N N 减去异或和为 0 0 0 的子序列个数。现在目标是最大化这样的子序列个数。

可以用状压 DP 求解,先枚举状态 i i i,再枚举它的子集 s s s,若 s s s 的异或和为 0 0 0 d p i ← max ⁡ ( d p i , d p i ⊕ s ) dp_i\gets\max(dp_i,dp_{i\oplus s}) dpimax(dpi,dpis)。时间复杂度 O ( 3 n ) O(3^n) O(3n)

注意要预处理出每个子集的异或和。

具体实现参照代码。

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=(1<<17)+1;
int n,dp[N];
ll a[20],b[20],sum[N];
int main()
{freopen("xor.in","r",stdin);freopen("xor.out","w",stdout);scanf("%d",&n);for(int i=1;i<=n;i++) scanf("%lld",&a[i]),b[i]=a[i]^a[i-1];int N=1<<n;for(int i=0;i<N;i++){for(int j=0;j<n;j++){if(i>>j&1){sum[i]^=b[j+1];}}}for(int i=0;i<N;i++){for(int s=i;s;s=(s-1)&i){if(!sum[s]) dp[i]=max(dp[i],dp[i^s]+1);}}printf("%d",n-dp[N-1]);
}
http://www.ds6.com.cn/news/94492.html

相关文章:

  • 如何做网站模版专业地推团队
  • 建立网站需要哪些seo关键技术有哪些
  • 怎么改网站模板关键词搜索趋势
  • ps做网站对齐技巧免费做网页的网站
  • 公司网站建设审批流程软文推广的100个范例
  • 收录快的网站360网站推广费用
  • java建设网站的步骤桂平seo关键词优化
  • wordpress图集主题seo是什么平台
  • wordpress 审查元素background 修改百度seo优化工具
  • 标志设计logo网站链接提交工具
  • 网站建设怎么起诉如何让百度收录自己信息
  • 家乡网站建设策划书软文推广范文
  • wordpress 好seo吗搜索引擎优化策略包括
  • 网站建站服务公司河南网站设计
  • 衢州市住房和城乡建设局网站怎么建立网站
  • 学做网站必须php吗十大成功营销策划案例
  • 高校思政教育工作网站建设网上在哪里打广告最有效
  • 企业手机网站案例百度搜索引擎网址格式
  • 南阳卧龙区高端网站建设价格网站推广的主要方法
  • 深圳华强北赛格大厦seo优化工作怎么样
  • 网站建设工作流程推广链接
  • wordpress 新建表南宁企业官网seo
  • 从化网站制作企业网站建设需求分析
  • js做论坛网站网店产品seo如何优化
  • 福州网站建设推进免费b站网站推广
  • asp的公司网站关键词优化武汉
  • 服务好的徐州网站建设扬州百度seo
  • 网站制作怎么添加图片百度浏览器app
  • 电子商务网站建设考试重点中央下令全国各地核酸检测
  • 荆州seo公司搜索引擎优化seo论文