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

网站建设项目明细表网站建设讠金手指科杰

网站建设项目明细表,网站建设讠金手指科杰,学网站软件设计,手机端网站自动弹出营销qq这周周赛很有质量的,上了一个很有意思的数学题目,推了半天..... 给定一个区间[l,r],求出区间内所有满足x mod 2^i !k的所有正整数(最后全部进行异或) 首先我们不妨先算出[l,r]区间所有数字的异或,然后在算…

这周周赛很有质量的,上了一个很有意思的数学题目,推了半天.....

给定一个区间[l,r],求出区间内所有满足x mod  2^i !=k的所有正整数(最后全部进行异或)

首先我们不妨先算出[l,r]区间所有数字的异或,然后在算出[l,r]区间所有数字不满足题目条件的异或,最后两者进行异或就是 x mod 2^i !=k所有数字的答案。

#include<bits/stdc++.h>
#define int long long
using namespace std;
int cun(int n){//计算从1到n所有整数的按位异或(XOR)结果//利用了模4的周期性规律来快速计算结果://如果n ≡ 0 mod 4,结果为n。//如果n ≡ 1 mod 4,结果为1。//如果n ≡ 2 mod 4,结果为n + 1。//如果n ≡ 3 mod 4,结果为0。if(n==1) return 1;else if(n==2) return 3;else{if(n%4==3){return 0;}else if(n%4==0){return n;}else if(n%4==1){return 1;}else{return n+1;}}
}
int g(int n,int i,int k){//计算从1到n满足x mod 2^i =k的所有正整数的异或结果if(i==0){if(k==0) return cun(n);else return 0;}else if(n<k) return 0;//不存在余数大于被除数的情况int mod=(1ll<<i);//取模是多少// 计算完整的周期数m:在1到n中,有多少个完整的"模mod"周期// 每个周期包含mod个数,其中有一个数的余数是k(需要排除)// 所以m = (n - k) / mod 表示有多少个完整的周期(排除余数为k的数)int m=(n-k)/mod;// 每个周期(除去余数为k的数)的异或结果可以表示为f(m)左移i位// 因为每个周期相当于从0*mod到m*mod,除去余数为k的数int res=cun(m)<<i;// 如果m是偶数,需要额外异或k:// 这是因为异或的性质:当周期数为偶数时,余数为k的数的异或会相互抵消if(!(m%2)){res^=k;}return res;
}
void run() {int l, r, i, k;cin >> l >> r >> i >> k;int sum = cun(l - 1) ^ cun(r);//求出l到r区间的所有数字异或和,有一个固定的算法int cnt = g(r, i, k) ^ g(l - 1, i, k);//求出l到r区间满足 x mod 2^i =k int answer = sum ^ cnt;cout << answer << endl;
}
signed main(){int t;cin>>t;while(t--)run();
}

给定一个字符串,并且可以做出任意操作对1变成0,0变成1

求最小操作可以将字符串分成偶数长度,且子字符串内所有数字都相同

解法:每两个相邻的作为一组,两者不同(10或者01)就对其中一个进行改变,最小字段数就是在排除了01字串后对剩下的字符串进行分组,相邻且不同算成一组

#include<bits/stdc++.h>
using namespace std;
#define int long long
inline void solve(){int t;cin>>t;string ac;cin>>ac;int ans=0;int sum=1;//最少字段数是1string answer="";for(int i=0;i<ac.size();i+=2){ans+=ac[i]!=ac[i+1]?1:0;//ans是求出原先的字符串的要进行修改的次数if(ac[i]==ac[i+1])answer+=ac[i]+ac[i+1];//answer对相同的数字进行相加}//最小字段分段数//cout<<answer<<endl;for(int i=1;i<answer.size();i++){if(answer[i]!=answer[i-1])sum++;//和上述一样的进行判断}cout<<ans<<" "<<sum<<endl;
}
signed main(){int n;cin>>n;while(n--)solve();
}

http://www.dtcms.com/a/399449.html

相关文章:

  • 美文的手机网站代理服务器地址怎么找
  • 自动化单mysql多实例库的全量迁移脚本
  • Lucene 8.7.0 版本中doc、tim、tip、tmd文件详解
  • golang1.18升级到1.23遇到的坑
  • 网站建设广告费 科目高埗网站仿做
  • 52Hz——FreeRTOS学习笔记——FReeRTOS移植遇到的问题
  • 网站建设肆金手指排名7全网通网站
  • AI赋能互联网广告变现的商业模式
  • 52Hz——FreeRTOS学习笔记——删除任务
  • AI 重塑教育生态:从个性化学习到公平鸿沟
  • 将二级域名 网站目录网站首页排名下降
  • 实现Word文档自动编号提取技术详解
  • 超越OCR:深入智能文档处理(IDP)的技术内核与实现路径
  • 江苏自助建站平台html5游戏开发
  • SQL server 2022下载安装详细教程
  • 工业视觉缺陷检测算法总结:从传统到深度学习,5类核心算法
  • 建设银行网站打不开别的网站可以口碑好的移动网站建设
  • 网站怎么建设原始站点定制网站的好处有哪些
  • 推动商用车辆原始设备制造商(OEM)向集中式电子电气架构(E/E,Electrical/Electronic)与软件架构转型
  • 网站内页模板玉溪市住房城乡建设局网站
  • Navicat 数据库管理工具简介​以及免费绿色版下载安装包分享 不登录csdn也可以直接使用
  • 第二章:Qt第一个程序
  • APache shiro-550 CVE-2016-4437复现
  • 计算机视觉笔试选择题:题组2
  • 荣耀手机商城官方网站入口唐山网页设计
  • 凉山西昌网站建设网站公司可以做英文网吗
  • 软件开发转测试的过程中, UT测试如何体现
  • Si掺杂AlN薄膜在肖特基中的应用
  • 四种Linux进程管理工具使用详解
  • 软件的自动化测试平台