构造题:

比赛的时候只想到:前面一样的数,后面 是类似1,2,3,4,5,6....t这 既是:t+1,t+1...,1,2,3,...t

t+1的数目 可能 很多,

题解时YY出一个N 然后对N  判断。

seg{Li*(Li-1)} = n*n+n-2*k=d;

每次跑sqrt(n)找到 最近的 d ,D_new=d-Li*(Li-1);

这样一定能解的:d 一定是偶数,Li*(Li-1)也一定是偶数,2*1=2;

还有seg(Li)=n;

当Li=1是 Li*Li-Li=0;

加入一些1就好。

思路有了,建议自己实现一下。

 #include<iostream>
#include<cstdio>
#include<algorithm>
#include<cstring>
#include<cstdlib>
#include<string>
#include<vector>
#include<queue>
#include<map>
#include<cmath>
#include<iostream>
using namespace std;
typedef long long ll; #define N 10234567
int a[N];
int b[N]; int main()
{ int n;
freopen("input.txt","r",stdin);
freopen("out.txt","w",stdout);
while (scanf("%d",&n)!=EOF) //注意我这里 K N 的位置相反
{
int t=;
if (n<=)// 特判 N<=100;
{
printf("%d\n",n);
for (int i=;i<n;i++) printf("%d ",);
printf("%d\n",);
}
else
{
ll k=;
for (int i=;i<=sqrt(*n)+;i++) //由题解 随便指定一个 N--> 就是k
{
ll ttt=(ll) i*(i+)/-n;
if (ttt>=)
{
k=i;
break;
}
}
k++;// 稍微大一点也没关系的
ll tmp=k*(k+)/-n;//题解没除二 ,我除了 ,其实都是一样的 while (tmp)//每次找一个p p*(p-1)<=tmp;
{
int pos=;
for (int i=;i<=sqrt(tmp)+;i++)
{
if (tmp>=(ll) i*(i-)/) pos=i;
else break;
}
a[++t]=pos;
tmp-=(ll) pos*(pos-)/;
} int res=;
for (int i=;i<=t;i++) res+=a[i]; if (res<k) //res一定<=k验证的很多数据
for (int i=;i<=k-res;i++)
a[++t]=; int id=;
for (int i=;i<=t;i++)
for (int j=;j<=a[i];j++)
b[++id]=i; printf("%d\n",id); for (int i=;i<id;i++) printf("%d ",b[i]);
printf("%d\n",b[id]);
}
}
return ;
}

2015多校联合训练赛 Training Contest 4 1008的更多相关文章

  1. 2015多校联合训练赛 hdu 5308 I Wanna Become A 24-Point Master 2015 Multi-University Training Contest 2 构造题

    I Wanna Become A 24-Point Master Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 ...

  2. 2015多校联合训练赛hdu 5301 Buildings 2015 Multi-University Training Contest 2 简单题

    Buildings Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Tota ...

  3. hdu 5381 The sum of gcd 2015多校联合训练赛#8莫队算法

    The sum of gcd Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others) T ...

  4. hdu 5358 First One 2015多校联合训练赛#6 枚举

    First One Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Tota ...

  5. hdu 5361 2015多校联合训练赛#6 最短路

    In Touch Time Limit: 8000/4000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others) Total ...

  6. HDU 5358(2015多校联合训练赛第六场1006) First One (区间合并+常数优化)

    pid=5358">HDU 5358 题意: 求∑​i=1​n​​∑​j=i​n​​(⌊log​2​​S(i,j)⌋+1)∗(i+j). 思路: S(i,j) < 10^10 & ...

  7. HDU 5371 (2015多校联合训练赛第七场1003)Hotaru&#39;s problem(manacher+二分/枚举)

    pid=5371">HDU 5371 题意: 定义一个序列为N序列:这个序列按分作三部分,第一部分与第三部分同样,第一部分与第二部分对称. 如今给你一个长为n(n<10^5)的序 ...

  8. 2014 多校联合训练赛6 Fighting the Landlords

    本场比赛的三个水题之一,题意是两个玩家每人都持有一手牌,问第一个玩家是否有一种出牌方法使得在第一回和对方无牌可出.直接模拟即可,注意一次出完的情况,一开始没主意,wa了一发. #include< ...

  9. HDU OJ 5317 RGCDQ( 2015多校联合训练第3场) 暴力打表+小技巧

    题目连接:Click here 题意:在一个[L,R]内找到最大的gcd(f[i],f[j])其中L<=i<j<=R,f[x]表示i分解质因数后因子的种类数.eg:f[10]=2(1 ...

随机推荐

  1. Ibatis入门基本语法

    1.       Ibatis是开源软件组织Apache推出的一种轻量级的对象关系映射(ORM)框架,和Hibernate.Toplink等在java编程的对象持久化方面深受开发人员欢迎. 对象关系映 ...

  2. WYS APP

    UI图:http://modao.io/app/H8eZCQdV1pskjQ7z8bLh 四个tab:我要赛.赛事.运动吧.个人中心 赛事页面 1.主要是个NavigationController 2 ...

  3. UISearchBar的应用

    当你在seachBar中输入字母之前的时候,只是用鼠标选中searchBar的时候,如图 终端输出截图如下:(这个时候调用先shouldBeginEditing,之后调用didBeginEditing ...

  4. Gitlab仓库搭建及在Linux/windows中的免密使用

    1. Gitlab简介 Gitlab:代码私有仓库,可以使用Git进行代码的管理. GitHub:公共仓库. GitLab 是一个用于仓库管理系统的开源项目,使用Git作为代码管理工具,并在此基础上搭 ...

  5. Mac OS X下安装Vue脚手架(vue-cli)

    前言 Vue作为前端三大框架(Angular,React,Vue)之一,号称是最简单,最容易上手的框架,同时也是行内的大趋势,还可以用来开发最火的小程序.具有开发快,双向数据流等特点,有些人认为Vue ...

  6. perl学习之子例程

    1.system function  && user function system fucntion:chomp  reverse print... user function: & ...

  7. mysql随机获取数据

    SELECT * FROM `table` AS t1 JOIN ( SELECT ROUND( RAND() * ( (SELECT MAX(id) FROM `table`) - (SELECT ...

  8. Day15模块(导入,使用)

    Day15模块 什么是模块: 一系列功能的集合体 一个py文件就是一个模块 aaa.py就是aaa模块 模块四种形式: 内置的模块 py文件 第三方的 包 模块三种来源:内置的,第三方,自定义 为什么 ...

  9. ASP.NET MVC 通用角色权限管理系统

    RightControl 介绍 .NET 通用后台角色权限管理系统,已完成.项目地址:http://106.14.77.184/Admin/Login 码云地址:https://gitee.com/L ...

  10. linux下防火墙iptables原理及使用

    iptables简介 netfilter/iptables(简称为iptables)组成Linux平台下的包过滤防火墙,与大多数的Linux软件一样,这个包过滤防火墙是免费的,它可以代替昂贵的商业防火 ...