正解:构造+图论

解题报告:

找了半天才找到的传送门!

先简要表达下题意

一个图上,如果存在(a,b)满足a<b且存在从a到b再回到a的路径,每条道路被经过至多一次,我们称(a,b)为完美点对
试构造一个点数和边数不超过5000的无向连通图,其完美点对数量恰好为K

k<=107

昂这题也比较简单啊,,,就每次都尽量大地构边双联通分量

然后把他们连起来就好辣

显然连起来是不会构造完美点对的

然后关于边双联通分量,可以得到当有n个点的时候完美点对的数量为n(n-1)/2

然后就好辣?

over!

#include<bits/stdc++.h>
using namespace std;
#define ll int
#define il inline
#define rg register
#define mp make_pair
#define rp(i,x,y) for(rg ll i=x;i<=y;++i) ll n,cntv,cnte;
vector< pair<ll,ll> >as; il ll read()
{
rg char ch=getchar();rg ll x=;rg bool y=;
while(ch!='-' && (ch>'' || ch<''))ch=getchar();
if(ch=='-')ch=getchar(),y=;
while(ch<='' && ch>='')x=(x<<)+(x<<)+(ch^''),ch=getchar();
return y?x:-x;
}
il ll gt(ll x){ll tmp=sqrt(x)+;while(tmp*(tmp-)>(x<<))--tmp;return tmp;} int main()
{
n=read();
while(n)
{
ll tmp=(+sqrt(*N+))/+ 1e-;if(cntv)as.push_back(mp(,cntv+)),++cnte;
rp(i,cntv+,cntv+tmp-)as.push_back(mp(i,i+)),++cnte;as.push_back(mp(cntv+tmp,cntv+)),++cnte;
cntv+=tmp;n-=tmp*(tmp-)/;
}
printf("%d %d\n",cntv,cnte);
rp(i,,cnte-)printf("%d %d\n",as[i].first,as[i].second);
return ;
}

loj的页面吼吼看鸭!而且数据都开放!太美好辣!

最新文章

  1. Linux 1
  2. Ubuntu 14.04 在桌面上双击运行shell 脚本文件
  3. UIPickerView详解
  4. 优惠书价计算---c++--软件工程
  5. 使用源码编译wxpython-基于python2.7
  6. 用CSS实现Firefox 和IE 都支持的Alpha透明效果
  7. ajax跨域访问 webservice
  8. Buying Feed, 2010 Nov (单调队列优化DP)
  9. HDU 5773 The All-purpose Zero
  10. Codeforces Round #553 (Div. 2) C题
  11. Linux系统在信息社会的发展
  12. Hyper-V:无法打开虚拟机XXX,因为虚拟机监控程序未运行
  13. Excel技巧--实现交叉查询
  14. hdu3613 Best Reward manacher+贪心+前缀和
  15. javascript 编辑网页
  16. python2.0 s12 day8 _ socketserver学习
  17. Linux创建Python虚拟环境
  18. php与oracle11g经典分页
  19. 不能使用联机NuGet 程序包
  20. ASP.NET MVC string赋值Html格式在显示View问题总结

热门文章

  1. RF中采用python方法获取当月1号、上月1号、下月1号、当前日期N天后日期、当前日期N天前日期、指定月份总天数、上个月份、下个月份、当月最后1天日期、上个月最后1天日期、下个月最后1天日期
  2. Unity读取配置文件
  3. 如何构建日均千万PV Web站点 (三) Sharding
  4. mybatis 之 parameterType=&quot;Map&quot;
  5. Linux下用C获取当前时间
  6. React Native(四)——顶部以及底部导航栏实现方式
  7. IOS 怎么用UIScrollView来滚动和缩放他的内容第一篇
  8. JAVA知多少
  9. 【前端安全】JavaScript防http劫持与XSS (转)
  10. css修改select默认样式