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

松原市住房和城乡建设局网站网页素材html

松原市住房和城乡建设局网站,网页素材html,同行抄袭公司网站,商城网站建设设计介绍G. Xor-MST 思路 异或最小生成树#xff0c;这里采用了一种分治的方法来贪心求解最值#xff1a; 首先我们对所有的点权值从小到大排个序#xff0c;从高位开始在中间找到一个这个位置上的0#xff0c;10#xff0c;10#xff0c;1分界点分成两个集合#xff0c;然后…G. Xor-MST 思路 异或最小生成树这里采用了一种分治的方法来贪心求解最值 首先我们对所有的点权值从小到大排个序从高位开始在中间找到一个这个位置上的010101分界点分成两个集合然后再通过递归的去求解两个集合。在递归的时候对两个分开的集合我们通过trietrietrie树去贪心的在两个集合连上一条边把这条边加入我们的答案。 为什么这样是对的显然我们分成两个集合我们可以抵消掉高位的一大堆一样的东西这个时候我们可以保证我们的贪心策略是正确的。 为什么我们要合并两个集合假设左边集合有nnn个点右边集合有mmm个点显然左边最多链接n−1n - 1n−1条边右边最多链接m−1m - 1m−1条边要使这nmn mnm个点形成一颗树必然我们要从左边选择一个点右边一个点链接一条边这个时候选点连边我们就可以贪心求解了。 代码 /*Author : lifehappy */ #pragma GCC optimize(2) #pragma GCC optimize(3) #include bits/stdc.h#define mp make_pair #define pb push_back #define endl \nusing namespace std;typedef long long ll; typedef unsigned long long ull; typedef pairint, int pii;const double pi acos(-1.0); const double eps 1e-7; const int inf 0x3f3f3f3f;inline ll read() {ll f 1, x 0;char c getchar();while(c 0 || c 9) {if(c -) f -1;c getchar();}while(c 0 c 9) {x (x 1) (x 3) (c ^ 48);c getchar();}return f * x; }void print(ll x) {if(x 10) {putchar(x 48);return ;}print(x / 10);putchar(x % 10 48); }const int N 2e5 10;int trie[N * 31][2], tot; int a[N], n;void insert(int x) {int rt 0;for(int i 30; i 0; i--) {int now (x i) 1;if(!trie[rt][now]) {trie[rt][now] tot;rt trie[rt][now];trie[rt][0] trie[rt][1] 0;}else {rt trie[rt][now];}} }int find(int x) {int ans 0, rt 0;for(int i 30; i 0; i--) {int now (x i) 1;if(trie[rt][now]) {rt trie[rt][now];}else {rt trie[rt][now ^ 1];ans | 1 i;}}return ans; }ll ans 0;void dfs1(int l, int r, int dep) {if(dep 0 || l r) return ;int mid l - 1;while(mid r ((a[mid 1] dep) 1) 0) mid;dfs1(l, mid, dep - 1);dfs1(mid 1, r, dep - 1);if(mid l - 1 || mid r) return ;tot 0;trie[tot][0] trie[tot][1] 0;for(int i l; i mid; i) {insert(a[i]);}int temp INT_MAX;for(int i mid 1; i r; i) {temp min(temp, find(a[i]));}ans temp; }// vectorpii G[N];// void dfs2(int rt, int fa, int w) { // a[rt] w; // for(auto i : G[rt]) { // if(i.first fa) continue; // dfs2(i.first, rt, w ^ i.second); // } // }int main() {// freopen(in.txt, r, stdin);// freopen(out.txt, w, stdout);// ios::sync_with_stdio(false), cin.tie(0), cout.tie(0);n read();for(int i 1; i n; i) a[i] read();// for(int i 1; i n; i) {// int x read() 1, y read() 1, w read();// G[x].pb(mp(y, w));// G[y].pb(mp(x, w));// }// dfs2(1, 0, 0);sort(a 1, a 1 n);dfs1(1, n, 29);printf(%lld\n, ans);return 0; }
http://www.zqtcl.cn/news/50002/

相关文章:

  • 做报纸能经常更新网站自我建设外贸网站
  • 网站建设 乐达云创企业网络营销企业网站建设章节习题
  • 辽宁省建设厅官方网站职称评定网页设计常规尺寸
  • 中国电力建设协会网站江阴市城乡建设网站
  • 湖南网站建设价格西安学校网站建设多少钱
  • 上海的建设项目招投标在哪个网站建立网站的流程多少钱
  • 四博网站备案wordpress 首页背景音乐
  • 网站开发三步tk网站注册
  • 网站备案信息不准确wordpress searchform.php
  • 网站开发 强制兼容模式成片1卡2卡三卡4卡
  • 电子产品在哪些网站做调研工业设计案例网站
  • 沈阳市网站怎么样购买服务器建设网站
  • 网站开发 h5 h4网站运作方式
  • 有没有做软件的外包网站武隆专业网站建设公司
  • 音乐网站的制作创建网站目录时我们应该
  • 网站建设违约合同网站发布小说封面怎么做
  • 免费注册域名的网站源码分享
  • 网站设计与建设第一章公众号登陆
  • 网络营销网站功能无锡工程建设招标网站
  • 建筑设计找工作的网站上海公司注册查询
  • 怎么做点击图片进入网站做seo需要会网站开发吗
  • 温州市城市建设学校网站aso优化运营
  • 贵阳网站制作 建设网站建设公司市场开发方案
  • 做视频网站收费侵权吗如何做网站推广 求指点
  • 网站建设推广特色景区门户网站建设大数据分析
  • 15年做啥网站致富汽车app网站建设
  • 网站建设阿里巴巴wifiu盘做网站
  • 能源网站开发介绍湛江网站
  • 网站描述如何写利于优化上海搬家公司价目表
  • 自己做文字壁纸的网站怎么做网站动态框