构造题:

比赛的时候只想到:前面一样的数,后面 是类似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. 解决微信小程序要求的TLS版本必须大于等于1.2的问题(windows2008服务器)

    开始->运行->输入 PowerShell 复制这段代码粘入弹出的dos窗口内 # Enables TLS 1.2 on windows Server 2008 R2 and Window ...

  2. vuejs 中 select 动态填充数据,后台的数据

           selected:"A" 对       selected:A 错.  变量不用引号. 内容一定要引号. https://jsfiddle.net/rgnuaw30/ ...

  3. JS中Null与Undefined的区别--2015-06-26

    在JavaScript中存在这样两种原始类型:Null与Undefined.这两种类型常常会使JavaScript的开发人员产生疑惑,在什么时候是Null,什么时候又是Undefined? Undef ...

  4. (1) zabbix进程构成

    进程介绍 zabbix_agentd客户端守护进程,此进程收集客户端数据,例如cpu负载.内存.硬盘使用情况等 zabbix_getzabbix工具,单独使用的命令,通常在server或者proxy端 ...

  5. C语言实现链表及其操作

    #include <stdio.h> #include <stdlib.h> //定义节点 typedef struct Node { int data; struct Nod ...

  6. CM3中数据传输对齐/非对齐方式

    在CM3中,非对齐的数据传输只发生在常规的数据传送指令中,如LDR.LDRH.LDRSH.其他指令则不支持,包括: 1.多个数据的加载.存储(LDM/STM). 2.堆栈操作PUSH.POP. 3.互 ...

  7. python--触发器, 储存过程, 事务

    一. 触发器 使用触发器可以定制用户对某一张表的数据进行 [增, 删  ,改] 操作时前后的行为, (注意 没有查询),在进行增删改的时候出发的某个动作叫做 触发器. 其实就是在增删改的时候另外执行了 ...

  8. 查看zookeeper管理的solrcloud配置文件

    进入zookeeper/bin目录下 连接zookeeper sh zkCli.sh -server localhost:2181 查看 ls /configs 结果如下 [zk: localhost ...

  9. python基础——14(shelve/shutil/random/logging模块/标准流)

    一.标准流 1.1.标准输入流 res = sys.stdin.read(3) 可以设置读取的字节数 print(res) res = sys.stdin.readline() print(res) ...

  10. shell 几中专用修饰符 :- :+ := ${variable:offset:length}

    1.${variable:-word} ${variable:-word} 如果variable已经被设置了,且不为空,则代入它的值,否则代入word; $ fruit=peach $ echo ${ ...