ARC102D(构造)
2024-09-04 14:34:00
ARC102D(构造)
构造一个图,使得\(n \le 20,m\le 60\),边从小的点连向大的点,并且从1到n的所有路径,长度与\([0, l-1]\)构成双射。
用二进制的思想……代码很鬼畜
#include <cstdio>
using namespace std;
const int maxn=25;
int l, n, src, dst, m;
int main(){
scanf("%d", &l); --l;
for (int i=l+1; i; i>>=1) ++n;
m=n*2-2;
for (int i=21; i>=0; --i) if ((l-(1<<n-1)+1)&(1<<i)) ++m;
printf("%d %d\n", n, m);
src=n; dst=1; int t=1;
for (int i=1; i<n; ++i, t*=2){
printf("%d %d %d\n", i, i+1, t);
printf("%d %d %d\n", i, i+1, 0); }
int nowe=(1<<(n-1)); l=l-nowe;
while (l>=0){
for (t=21; t>=0; --t) if (l-(1<<t)>=-1) break;
printf("%d %d %d\n", t+1, src, nowe);
nowe+=(1<<t); l-=(1<<t);
}
return 0;
}
最新文章
- git克隆项目到本地&;&;全局安装依赖项目&;&;安装依赖包&;&;启动服务
- Android自定义属性
- SQL语句 分页实现
- String类型和基本数据类型之间的转换
- 51nod 1228 序列求和 ( 1^k+2^k+3^k+...+n^k )
- codevs1958 刺激
- iwebshop 订单存库修改为下单件库存
- javaweb--struts框架--struts.xml
- iOS 快递查询
- 转!!深入理解 Session 与 Cookie
- hash_map vs unordered_map vs map vs unordered_set
- sort 使用 tab键 作为 分隔符_人生如梦_百度空间
- python enumerate 枚举函数用法
- C++模板类与Qt信号槽混用
- 阿里云服务器配置免费https服务
- otter 数据同步
- 你应该知道的最好Webmail邮件客户端,
- tmux配置与用法整理
- Hadoop学习之路(十六)Hadoop命令hadoop fs -ls详解
- CentOS 6.5下安装Oracle 11g(转)