博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HDU 4377 Sub Sequence[串构造]
阅读量:6162 次
发布时间:2019-06-21

本文共 824 字,大约阅读时间需要 2 分钟。

比赛时A的, 由于是队友先写了wa, 然后我再改的, 所以代码有点奇怪 = =.

方法就是分sqrt(n)组(都取上界),  每组最多有sqrt(n)个数, 然后每组里数字递减. 这样可以保证取到最小的max(正序数, 逆序数).

然后就是要保证字典序最小, 方法就是给每组数初始设为1个数, 然后余下的尽量加在后面, 这样就得到每组各自有多少数了. 

代码:

#include
#include
#include
#include
using namespace std;int a[10000];int len[10000];int main(){ int t; cin>>t; while(t--) { int n; cin>>n; if(n==1){cout<<"1"<
=part-1) { len[i]=part; temp-=(part-1); } else { len[i]+=temp; break; } } cout<
0) { for(i=2;i<=part;i++) { int now = len[i]+sum; sum+=len[i]; for(j=0;j

转载于:https://www.cnblogs.com/tclh123/archive/2012/08/20/6171728.html

你可能感兴趣的文章
MyEclipse 报错 Errors running builder 'JavaScript Validator' on project......
查看>>
Skip List——跳表,一个高效的索引技术
查看>>
Yii2单元测试初探
查看>>
五、字典
查看>>
前端js之JavaScript
查看>>
Log4J日志配置详解
查看>>
实验7 BindService模拟通信
查看>>
scanf
查看>>
Socket编程注意接收缓冲区大小
查看>>
SpringMVC初写(五)拦截器
查看>>
检测oracle数据库坏块的方法
查看>>
SQL server 安装教程
查看>>
Linux下ftp和ssh详解
查看>>
跨站脚本功攻击,xss,一个简单的例子让你知道什么是xss攻击
查看>>
js时间和时间戳之间如何转换(汇总)
查看>>
js插件---图片懒加载echo.js结合 Amaze UI ScrollSpy 使用
查看>>
java中string和int的相互转换
查看>>
P1666 前缀单词
查看>>
HTML.2文本
查看>>
Ubuntu unity安装Indicator-Multiload
查看>>