hdu5334
来源:互联网 发布:淘宝商城玩具大全 编辑:程序博客网 时间:2024/06/09 14:12
比赛时想了3小时,到4点有了思路,结果当时体力不够,思维不够严谨,一直wa。网上看大神题解后,发现大神的思维不是我等渣渣能想出来的,故此又重新拾起自己的思维,ac。
遇到这种题目,大家一定要想,这种题目一定是有规律的,大家要善于发现规律。对此题,我一开始是枚举前10几个数,结果到第4的时候发现,4只能由1111这种四个一样数才能得出,故此思考数列中有相同的数会使子串个数减少某些固定的数。后来发现,连续两个连续的数会使总数减少1,连续3个减少3,连续4个减少6.
#include <iostream>#include<stdio.h>#include<math.h>using namespace std;int k;int get_n(){ int n=sqrt(2*k); if(n*(n+1)<2*k) n++; return n;}int main(){ int i,j; while(~scanf("%d",&k)) { if(k<=100) { printf("%d\n",k); for(i=1;i<=k;i++) printf("1 "); printf("\n"); continue; } int n=get_n(); int d=n*(n+1)/2-k,a=d/3,b=d-a*3,f=a/2,f1=a-f*2,len=0; printf("%d\n",n); for(i=1;i<=f;i++) { len+=4; printf("%d %d %d %d ",i,i,i,i); } for(i=f+1;i<=f+f1;i++) { len+=3; printf("%d %d %d ",i,i,i); } for(i=f+f1+1;i<=f+f1+b;i++) { len+=2; printf("%d %d ",i,i); } for(i=len+1;i<=n;i++) printf("%d ",i); printf("\n"); } return 0;}
0 0
- hdu5334
- HDU5334(构造,思维)
- 解题报告 之 HDU5334 Virtual Participation
- hdu5334 Virtual Participation 多校联合第四场
- 2015 多校联赛 ——HDU5334(构造)
- hdu5334(2015多校4)--Virtual Participation(构造)
- 2015 Multi-University Training Contest 4(hdu5334 - Virtual Participation)数学
- 给出一棵二叉树的根节点和其中两个不同的节点求出它们最近的公共祖先节点
- 网络流Dinic模板
- 黑马程序员——15,String,StringBuffer,基本数据类型包装对象
- 【数据结构与算法】浅谈数据结构与算法
- static的作用(c)
- hdu5334
- 使用Facebook方法处理复杂问题
- iWatch报错: Fail to code sign "***" No valid signing identities (i.e. certificate and private key pair
- poj1328radar installation 【贪心】
- Isomorphic Strings
- hibernate中的session缓存的常用方法
- java 面向对象基础1
- LeetCode之Sort Colors
- 稀疏表示求解方法