传送门

好神的构造题

vfk巨巨的题解

//minamoto
#include<bits/stdc++.h>
#define R register
#define fp(i,a,b) for(R int i=a,I=b+1;i<I;++i)
#define fd(i,a,b) for(R int i=a,I=b-1;i>I;--i)
#define go(u) for(int i=head[u],v=e[i].v;i;i=e[i].nx,v=e[i].v)
using namespace std;
char buf[1<<21],*p1=buf,*p2=buf;
inline char getc(){return p1==p2&&(p2=(p1=buf)+fread(buf,1,1<<21,stdin),p1==p2)?EOF:*p1++;}
int read(){R int res,f=1;R char ch;while((ch=getc())>'9'||ch<'0')(ch=='-')&&(f=-1);for(res=ch-'0';(ch=getc())>='0'&&ch<='9';res=res*10+ch-'0');return res*f;
}
char sr[1<<21],z[20];int C=-1,Z=0;
inline void Ot(){fwrite(sr,1,C+1,stdout),C=-1;}
void print(R int x,R char ch){if(C>1<<20)Ot();if(x<0)sr[++C]='-',x=-x;while(z[++Z]=x%10+48,x/=10);while(sr[++C]=z[Z],--Z);sr[++C]=ch;
}
int n,m,now,tot,las,res,ans;
int main(){
//  freopen("testdata.in","r",stdin);n=read(),m=read();for(R int i=1;(i+1)*(i+1)<=n;++i){now=0,tot=n;fd(j,i,1)now+=tot,tot-=2*j+1;now+=tot;if(now>ans)ans=now,res=i;}tot=las=0;fd(i,res,1){fp(j,1,(i<<1))printf("%d %d\n",tot+j,tot+j+1);if(tot)printf("%d %d\n",las,tot+i+1);las=tot+i+1,tot+=(i<<1)+1;}if(!res)las=tot=1;while(tot<n)printf("%d %d\n",las,++tot);return 0;
}

转载于:https://www.cnblogs.com/bztMinamoto/p/10242423.html

uoj#283. 直径拆除鸡(构造)相关推荐

  1. UOJ#284-快乐游戏鸡【长链剖分,线段树】

    正题 题目链接:https://uoj.ac/problem/284 题目大意 nnn个点的一棵树,每个点有一个wiw_iwi​表示至少死亡wiw_iwi​次才能通过这个点,否则就会死亡.只能往子节点 ...

  2. [BZOJ4379][POI2015]Modernizacja autostrady[树的直径+换根dp]

    题意 给定一棵 \(n\) 个节点的树,可以断掉一条边再连接任意两个点,询问新构成的树的直径的最小和最大值. \(n\leq 5\times 10^5\) . 分析 记断掉一条边之后两棵树的直径为 \ ...

  3. ZJOI2019一轮停课刷题记录

    Preface 菜鸡HL终于狗来了他的省选停课,这次的时间很长,暂定停到一试结束,不过有机会二试的话还是可以搞到4月了 这段时间的学习就变得量大而且杂了,一般以刷薄弱的知识点和补一些新的奇怪技巧为主. ...

  4. 游记-NOIP2018

    Day -3 受蛊惑跑到理工大去试机,意外发现home里的noilinux账户下有个压缩包,而且还试对了密码,怀着 激动 紧张的心情,打开来看,里面写着 (写出来我就会被禁赛了): asdfasdra ...

  5. 【游记】NOIP-2018翻车记

    Day -3 受蛊惑跑到理工大去试机,意外发现home里的noilinux账户下有个压缩包,而且还试对了密码,怀着 激动 紧张的心情,打开来看,里面写着 (写出来我就会被禁赛了): asdfasdra ...

  6. 暴力+构造 Codeforces Round #283 (Div. 2) C. Removing Columns

    题目传送门 1 /* 2 题意:删除若干行,使得n行字符串成递增排序 3 暴力+构造:从前往后枚举列,当之前的顺序已经正确时,之后就不用考虑了,这样删列最小 4 */ 5 /************* ...

  7. UOJ#351-新年的叶子【树的直径,数学期望】

    正题 题目链接:https://uoj.ac/problem/351 题目大意 给出nnn个点的一棵树,开始所有点都是白色,每次随机点黑一个叶子(可以重复点),求期望多少次能使得白色点构成的图直径发生 ...

  8. 【VK Cup 2016 - Round 1 (Div 2 Edition)C】【构造】Bear and Forgotten Tree 3 构造一棵树直径为d且点1的深度为h

    Bear and Forgotten Tree 3 time limit per test 2 seconds memory limit per test 256 megabytes input st ...

  9. UOJ#460. 新年的拯救计划 构造

    原文链接https://www.cnblogs.com/zhouzhendong/p/UOJ460.html 题解 本题的构造方法很多.这里只介绍一种. 首先,总边数为 $\frac{n(n-1)}2 ...

  10. 【uoj#225】[UR #15]奥林匹克五子棋 构造

    题目描述 两个人在 $n\times m$ 的棋盘上下 $k$ 子棋,问:是否存在一种平局的情况?如果存在则输出一种可能的最终情况. 输入 第一行三个正整数 $n,m,k$ ,意义如前所述. 输出 如 ...

最新文章

  1. *30.什么是微内核
  2. 永磁同步电机试验系统的设计
  3. 对于一个管理性的软件来讲,数据主键的产生策略是很关键的一点,这个关系到整个系统的基础架构思想。...
  4. JMM和synchronized
  5. python3 在线加密_Python3非对称加密算法RSA实例详解
  6. elasticsearch(七)java 搜索功能Search Request的介绍与使用
  7. php使用到的函数记录一
  8. 使用Scylla进行OSINT信息收集
  9. php dom 分离html内容
  10. 大数据精准营销数据分析处理(一)
  11. 科技论文之Introduction部分写作
  12. redis的安装,配置
  13. 介数中心度与紧密中心度_将开发团队与技术紧密结合的6种方法
  14. 数学规划模型(一):数学规划模型的基本知识
  15. 基于VS2015MFC在X86debug编译平台调试opengl 代码出现oxc0000007b错误的解决方法
  16. js实现获取今日、本周、本月、本学期的开始结束日期
  17. 商会管理系统_沈阳写字间丨商会总部大厦
  18. UVC系列5-编写Android jni代码实现控制PTZ
  19. Linux内存手动清理释放方法
  20. matlab 对话框保持,如何在matlab中创建输入对话框?(How to create Input dialog box in matlab?)...

热门文章

  1. C#虚基类继承与接口的区别
  2. 郁闷的开始--8月21日
  3. WORD 同一位置连续引用多个参考文献编辑技巧
  4. 历史文章之自然语言处理
  5. NLP—1.自然语言处理的基础任务与应用
  6. 《MYSQL必知必会》—3~9.使用MySQL、检索数据列、排序检索数据列、过滤数据(WHERE子句、组合WHERE子句、通配符、正则表达式)
  7. seaborn—sns.residplot绘制线性回归的残差
  8. LightGBM参数调优代码详解
  9. Python-split()函数的使用
  10. 联邦学习在光大科技的落地应用