牛客NOIP暑期七天营-提高组1

链接

A

边权可为0就排序建一条链子。
但是边权不为0
除了第一个有0的不行。
x连向上一个比他小的数。
期间判断有无解。

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int _=2e5+7;
int read() {int x=0,f=1;char s=getchar();for(;s>'9'||s<'0';s=getchar()) if(s=='-') f=-1;for(;s>='0'&&s<='9';s=getchar()) x=x*10+s-'0';return x*f;
}
int n,S;
struct edge{int a,b,c;};
struct node {int id,val;bool operator < (const node &b) const {return val==b.val?id<b.id:val<b.val;}
}a[_];
std::vector<edge> ans;
int main() {// freopen("a.in","r",stdin);n=read(),S=read();for(int i=1;i<=n;++i) a[i].val=read(),a[i].id=i;sort(a+1,a+1+n);for(int i=2;i<=n;++i) if(!a[i].val) return puts("-1"),0;for(int i=2;i<=n;) {int las=i;if(a[i].val-a[i-1].val>S) return puts("-1"),0;while(a[i].val==a[las].val) ans.push_back(edge{a[las-1].id,a[i].id,a[i].val-a[las-1].val}),++i;}printf("%d\n",(int)ans.size());for(auto x:ans) printf("%d %d %d\n", x.a,x.b,x.c);return 0;
}

B

和XOR-MST差不多,就应该早做掉这个ZR题,要不就不用想呢么久了。答案就是XOR-MST上的最大的那条边。
感性:字数内的也是个完全图。因为边权都比外边的那条边小,随便连,两颗子树就可以变成任意形态的链子了。枚举端点就行了。

#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int _=1e6+7;
ll read() {ll x=0,f=1;char s=getchar();for(;s>'9'||s<'0';s=getchar()) if(s=='-') f=-1;for(;s>='0'&&s<='9';s=getchar()) x=x*10+s-'0';return x*f;
}
int n,ch[_*60][2],cnt=1,rt,dsr;
ll a[_],ans;
void insert(ll x) {int p=1;for(int i=59;i>=0;--i) {bool k=x&(1LL<<i);if(!ch[p][k]) ch[p][k]=++cnt;p=ch[p][k];}
}
ll query(ll x) {int p=rt;ll ans=0;for(int i=dsr;i>=0;--i) {bool k=x&(1LL<<i);if(ch[p][k]) p=ch[p][k];else p=ch[p][!k],ans|=1LL<<i;}return ans;
}
int main() {// freopen("b.in","r",stdin);n=read();for(int i=1;i<=n;++i)a[i]=read(),insert(a[i]);rt=1,dsr=59;   while((!ch[rt][0]||!ch[rt][1])&&dsr>=0)rt=ch[rt][0]|ch[rt][1],dsr--;if(dsr<0) return puts("0"),0;ch[rt][1]=0;ans=1LL<<60;for(int i=1;i<=n;++i)if(a[i]&(1LL<<dsr)) ans=min(ans,query(a[i]));cout<<ans<<"\n";return 0;
}

C

没大看题,貌似很恶心的亚子。

转载于:https://www.cnblogs.com/dsrdsr/p/11379882.html

牛客NOIP暑期七天营-提高组1相关推荐

  1. 牛客NOIP暑期七天营-普及组4 C-火龙果田

    小巫女从小就喜欢吃火龙果,她有一个梦想,就是用魔法变出许许多多美味可口的火龙果,这样她就可以天天享受火龙果的美味啦! 可是小巫女平常没有认真完成魔法学院的功课,魔法经常出现一些意想不到的情形,不能变出 ...

  2. 2021牛客OI赛前集训营-提高组(第四场) T2空间跳跃

    2021牛客OI赛前集训营-提高组(第四场) 题目大意 给你三个整数 n , d , l n,d,l n,d,l, n n n为正整数.负整数或0, d , l d,l d,l为正整数,你现在有一个数 ...

  3. 2021牛客寒假算法基础集训营1 J 一群小青蛙呱蹦呱蹦呱

    今天的比赛没打( 睡午觉去了,今天太累了 晚上来看看题 2021牛客寒假算法基础集训营1 J 一群小青蛙呱蹦呱蹦呱 题目传送门 板子题( 我们知道由唯一分解定理得,若 n=p1α1×p2α2×p3α3 ...

  4. 牛客网暑期ACM多校训练营(第十场)F.Rikka with Line Graph

    牛客网暑期ACM多校训练营(第十场)F.Rikka with Line Graph 做法:\(G'\) 中的对应原图两条边(a,b) (c,d)的最短路为: \[ w[a][b] + w[c][d] ...

  5. 牛客网暑期ACM多校训练营(第九场)

    牛客网暑期ACM多校训练营(第九场) A. Circulant Matrix 做法:看到下标 \(xor\) 这种情况就想 \(FWT\),可是半天没思路,于是放弃了..其实这个 \(n\) 疯狂暗示 ...

  6. 牛客网暑期ACM多校训练营(第五场)

    牛客网暑期ACM多校训练营(第五场) A. gpa 二分答案,然后就转化为是否满足 \(\frac {\sum s[i]c[i]}{\sum s[i]} ≥ D\), \(\sum s[i]c[i] ...

  7. 牛客网暑期ACM多校训练营(第三场)

    牛客网暑期ACM多校训练营(第三场) A. PACM Team 01背包,输出方案,用bool存每种状态下用的哪一个物品,卡内存.官方题解上,说用char或者short就行了.还有一种做法是把用的物品 ...

  8. 牛客网暑期ACM多校训练营(第一场)

    牛客网暑期ACM多校训练营(第一场) A. Monotonic Matrix 考虑0和1的分界线,1和2的分界线,发现问题可以转化为两条不互相穿过的路径的方案数(可重叠),题解的做法就是把一条路径斜着 ...

  9. 2022牛客寒假算法基础集训营6 签到题5题(附基础集训营4-6签到题总结)

    1.I-A+B问题 模拟,类似于高精度,竖式运算 #include<bits/stdc++.h> using namespace std; typedef long long LL; in ...

最新文章

  1. 深度学习的发展可能已达极限!
  2. 数据科学家最常用的十种算法
  3. rpmbuild打包mysql5.7_用rpmbuild打包mysql
  4. 网络推广外包——网络推广外包浅析那些年起步就结束的企业网站
  5. 自我辩证之计划是否该坚持?
  6. 【前端5】vue:实例,插值表达式,v-,组件
  7. equals方法中变量在前和在后的区别
  8. Spring Cloud Alibaba迁移指南(三):极简的 Config
  9. js cookie 存储checkbox_[cookie实战记录-1]种下一个cookie
  10. ActiveMq笔记3-AMQ高可用性理论
  11. 将普通文章内容替换为微信图文消息符合的内容
  12. power bi 背景图_Power BI桌面脉冲图
  13. 亮点抢先看,华为云 TechWave 大数据专题日有啥料?
  14. java 改像素不改尺寸_如何不改变分辨率的情况下缩小尺寸PNG图片
  15. dnf无限卡连接服务器,不用进DNF游戏也能修改所在频道方法 卡频福音
  16. 中标麒麟操作系统了解的指令
  17. java flv转mp3_Java调用ffmpeg转换视频格式为flv的示例详解
  18. 输入目录路径以及名字,能够将该路径下所有文件的属性打印出来,类似ls -l
  19. spark常见面试题
  20. microduino实现红外线发送与接收

热门文章

  1. php网站 qq登陆,php写的插件网站接入QQ登录,QQ互联
  2. Spring Boot 1:Introduction
  3. JavaScript内置对象Date----格式化时间
  4. background-size属性100% cover contain
  5. 用户管理实例 之 添加、查询
  6. UVA 10604 Chemical Reaction
  7. python3虚拟环境使用教程_python虚拟环境完美部署教程
  8. ps法线贴图插件_法线与置换贴图原理讲解以及烘焙制作!
  9. docker启动odoo提示module没有安装_Ubuntu20.04通过docker安装微信
  10. win7下安装pip——Python的包管理工具