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

做网站卖水果哪里进货临沧网站建设公司

做网站卖水果哪里进货,临沧网站建设公司,户外运动网站程序,乌市网络营销公司CF1572B. Xor of 3 题意#xff1a; 给你个01序列#xff0c;你有一种操作#xff1a;每次选位置x#xff0c;然后位置x#xff0c;x1#xff0c;x2的值变为三者的异或值。 现在要让所有的数都等于0#xff0c;请输出存在的合法操作序列 题解#xff1a; 首先如果有…CF1572B. Xor of 3 题意 给你个01序列你有一种操作每次选位置x然后位置xx1x2的值变为三者的异或值。 现在要让所有的数都等于0请输出存在的合法操作序列 题解 首先如果有奇数个1显然是无解的 此时我们从第一个1开始考虑成对考虑消除1(因为这样异或为0)每次消除掉第一对1 如果两个1之间有奇数个0 比如10001,100000001,这种是可以直接消掉的 就拿100000001来说假设第一个1的位置为x那我们可以依次操作xx2,x4,…(x长度)此时序列为111111101然后操作x6就得到111111000然后再倒着执行x4x2…这样就都变成0 如果两个1之间有偶数个0 这样是不能和上面一样直接消除的可以先全部变成1然后需要借助外面的0也就是如果左边或右边有一个0就可以消除否则无解 比如1001 - 1111 假设 原序列是10010, 右边有一个0, 那么现在11110可以消掉 实现起来挺麻烦的 代码 #include bits/stdc.h #include unordered_map #define debug(a, b) printf(%s %d\n, a, b); using namespace std; bool Handsome; typedef long long ll; typedef unsigned long long ull; typedef pairint, int PII; clock_t startTime, endTime; //Fe~Jozky const ll INF_ll 1e18; const int INF_int 0x3f3f3f3f; void read(){}; template typename _Tp, typename... _Tps void read(_Tp x, _Tps... Ar) {x 0;char c getchar();bool flag 0;while (c 0 || c 9)flag| (c -), c getchar();while (c 0 c 9)x (x 3) (x 1) (c ^ 48), c getchar();if (flag)x -x;read(Ar...); } template typename T inline void write(T x) {if (x 0) {x ~(x - 1);putchar(-);}if (x 9)write(x / 10);putchar(x % 10 0); } void rd_test(bool Most) { #ifdef ONLINE_JUDGE #elseprintf(%.2lfMB\n,(Most-Handsome)/1024.0/1024.0);startTime clock ();freopen(data.in, r, stdin); #endif } void Time_test() { #ifdef ONLINE_JUDGE #elseendTime clock();printf(\nRun Time:%lfs\n, (double)(endTime - startTime) / CLOCKS_PER_SEC); #endif } const int maxn2e59; int a[maxn],nex[maxn]; vectorintans; int n; bool Most; int solve(int x){if(xn)return 0;if(nex[x]0)return 1;if(a[x]0||(nex[x]-x-1)%2){//如果当前位置是0或者中间有奇数个1 if(a[x]0)xnex[x];//找到后面最近1的位置 while(x){if((nex[x]-x-1)%2){//中间奇数个1内部直接消 int i;for(ix;i2nex[x];i2)ans.push_back(i);for(;ix;i-2)ans.push_back(i);}else {//借助左边的0消除 for(int ix;i2nex[x];i2)ans.push_back(i);for(int ix-1;i2nex[x];i2)ans.push_back(i);}xnex[nex[x]];//下下一个1的位置(因为1都是成对处理) }return 1; }else{//因为中间有偶数个1且当前不是0所以需要判断后面能否出现0 if(solve(nex[x]1)){for(int ix;inex[x]-2;i2)ans.push_back(i);for(int inex[x]1;i-2x;i-2)ans.push_back(i-2);return 1;}elsereturn 0; } } int main() {rd_test(Most);int t;read(t);while(t--){read(n);for(int i1;in;i)read(a[i]);int las0;int cnt0;for(int in;i1;i--){nex[i]las;if(a[i])//如果非0记录位置{lasi;cnt;} }if(cnt%2)//如果奇数个1{printf(NO\n);continue; }ans.clear();if(solve(1)){printf(YES\n%d\n, ans.size());for(int i0; ians.size(); i) {printf(%d , ans[i]);}printf(\n);} else printf(NO\n);}//Time_test(); }
http://www.sadfv.cn/news/218579/

相关文章:

  • 东台市住房和建设局网站搜索关键词的工具
  • 宁波专业品牌网站制作外包如何将域名和网站绑定
  • 山东金融行业网站开发怎么免费网站
  • 手机网站建设 豆丁wp网站搬家教程
  • 收到短信说备案被退回但工信部网站上正常啊做淘宝相关网站
  • 富阳建立网站的绿色门业宽屏网站模板 破解
  • 站长统计 站长统计海南门户网站开发公司
  • 吴忠市建设网站赛罕区城乡建设局网站
  • 漯河网站建设-千弘网络手机多少钱
  • 免费网站制作下载东莞网站建设模具
  • 使用编辑字母做免费网站潍坊企化网站建设
  • 网站美工的重要性国外注册的域名国内做的网站
  • php做网站界面代码感叹号分销系统
  • 郑州网站优化推广上海比较有名的设计公司
  • 网站开发文档模板下载网站排名易下拉稳定
  • 培训网站建设方案模板wordpress手机怎么分享链接地址
  • 学做网站要学哪些天津seo技术教程
  • phpmysql网站模板山东外贸网站是什么意思
  • python自动写wordpress宜宾网站优化
  • 建设银行总行网站如何在网上推广自己的公司
  • 什么网站都能进的浏览器长沙信息发布平台
  • 学校的网站如何建设佛山网页模板建站
  • 深圳自适应网站建设价格建材企业网站推广方案
  • 南京专业做网站公司地址网站透明效果
  • 广州网站优化关键词公司广州出台21条措施扶持餐饮住宿
  • 浙江通管局 网站备案如何好注销可制作网页的软件
  • 网站开发小公司推荐自己做网站花钱么
  • 做婚介网站国外网站模版
  • 景洪服装网站建设做网站选用什么域名比较好
  • 网站备案管理北京专业建设网站公司哪家好