The Phone Number CodeForces - 1017C(构造+思维)

ComfyUI-controlnet控制出图 提供加载预处理器节点。 阅读详情

The Phone Number CodeForces - 1017C

Mrs. Smith is trying to contact her husband, John Smith, but she forgot the secret phone number!

The only thing Mrs. Smith remembered was that any permutation of n

can be a secret phone number. Only those permutations that minimize secret value might be the phone of her husband.

The sequence of n
integers is called a permutation if it contains all integers from 1 to n

exactly once.

The secret value of a phone number is defined as the sum of the length of the longest increasing subsequence (LIS) and length of the longest decreasing subsequence (LDS).

A subsequence ai1,ai2,…,aik
where 1≤i1<i2<…<ik≤n1≤i1<i2<…<ik≤n is called increasing if ai1<ai2<ai3<…<aik.Ifai1>ai2>ai3>…>aikai1<ai2<ai3<…<aik.Ifai1>ai2>ai3>…>aik

, a subsequence is called decreasing. An increasing/decreasing subsequence is called longest if it has maximum length among all increasing/decreasing subsequences.

For example, if there is a permutation [6,4,1,7,2,3,5]
, LIS of this permutation will be [1,2,3,5], so the length of LIS is equal to 4. LDS can be [6,4,1], [6,4,2], or [6,4,3], so the length of LDS is 3

.

Note, the lengths of LIS and LDS can be different.

So please help Mrs. Smith to find a permutation that gives a minimum sum of lengths of LIS and LDS.

Input

The only line contains one integer n

(1≤n≤105

) — the length of permutation that you need to build.

Output

Print a permutation that gives a minimum sum of lengths of LIS and LDS.

If there are multiple answers, print any.

Examples
Input

4

Output

3 4 1 2

Input

2

Output

2 1

Note

In the first sample, you can build a permutation [3,4,1,2]

. LIS is [3,4] (or [1,2]), so the length of LIS is equal to 2. LDS can be ony of [3,1], [4,2], [3,2], or [4,1]. The length of LDS is also equal to 2. The sum is equal to 4. Note that [3,4,1,2]

is not the only permutation that is valid.

In the second sample, you can build a permutation [2,1]
. LIS is [1] (or [2]), so the length of LIS is equal to 1. LDS is [2,1], so the length of LDS is equal to 2. The sum is equal to 3. Note that permutation [1,2] is also valid.

题意:

给定一个数n,构造一个1-n的序列使得其中的最长上升子序列和最长下降子序列的和最短

分析:

构造。

说实话这种东西真的就是灵光乍现就想出来了,要不然真的想不出来

其实构造就直接分段就行了,怎么个分段法呢

比如123456789

如果我们让每段4个数就变成下面样子

6789 2345 1

这样最长的上升子序列就是每段的长度,这里是4,最长的下降子序列的长度就是段数,这里是3

这样就可以求出和

我们可以暴力枚举1-n看每段几个数时最优,记录下来,然后按照上面规则输出就行了

code:

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n;
    scanf("%d",&n);
    int x;
    int ans = 100010;
    for(int i = 1; i <= n; i++){
        int tmp = i + n / i + (n % i == 0 ? 0 : 1);
        if(ans > tmp){
            x = i;
            ans = tmp;
        }
    }
    for(int i = n; i >= 1; i -= x){
        int j,flag;
        if(i - x < 0) j = 1,flag = 1;
        else j = i - x + 1,flag = 0;
        for(; j <= i; j++){
            printf("%d",j);
            if(j == i){
                if(flag) puts("");
                else putchar(' ');
            }
            else putchar(' ');
        }
    }
    return 0;
}
基于Python的雪球网投资组合数据爬取与分析实战:从入门到精通 在当今数字化投资时代,数据已成为投资者最重要的资产之一。雪球网作为中国领先的投资社交平台,汇聚了大量优质的投资组合数据,这些数据对于量化投资研究和个人投资决策具有重要价值。本文将详细介绍如何使用Python最新技术栈构建一个高效、稳定的雪球网投资组合爬虫,并深入分析获取的数据。投资组合持仓明细及变动历史投资收益率曲线与风险指标投资者操作策略与调仓频率热门行业与个股关注度。 阅读详情

相关推荐

深度学习初探 - 入门 DL 主流框架

这个课程主要是引导大家入门TensorFlow、Theano、Keras 及 Caffe 几个主流的深度学习框架。在课程中有关各种算法的详细推导及思想我们不会做过多的陈诉,旨在通过让同学们动手操作搭建自己的神经网络模型,了解如何使用这些框架解决实际问题。课程会基于每个框架的官方文档,先带大家熟悉框架中基本的定义语法及常用函数(可看成深度模型的小零件),每个实验最后都会综合这些零件搭建一个简易的神经深度网络模型。这个项目十分适合具有一定python编程基础,对人工智能、深度学习感兴趣的同学。Theano。

2401_86435672的博客 1235

The Phone Number CodeForces - 1017C(结论,构造)

很带结论的一个题,写不来 具体构造就是枚举分段数,比如每段是4,那就这样构造n=10的情况具体构造就是枚举分段数,比如每段是4,那就这样构造n=10的情况具体构造就是枚举分段数,比如每段是4,那就这样构造n=10的情况 (7 8 9 10) ( 3 4 5 6 ) (1 2) 这样最长上升是每段的长 最长下降是分的段数 #include <bits/stdc++.h> using namespace std; int n; int main() { cin >&gt

jziwjxjd的博客 516

深度学习---双层神经网络中矩阵的运算及其含义记录

深度学习---双层神经网络中矩阵的运算及其含义记录神经网络的正向传播与反向传播正向传播第一层的权重矩阵第一层的输入矩阵Z^1^ = W^1^X^1^ + b^1^A^1^ = σ(Z^1^)第二层的权重矩阵第二层的输入矩阵Z^2^ = W^2^A^1^ + b^2^反向传播dz^2^ = A^2^ - Ydw^2^ = 1/n dz^2^A^1T^db^2^ = 1/n np.sum(dz^2...

qq_43228441的博客 3747

getPhoneNumber获取code

官方两点要求 1,必须认证后的非个人账号 2,和wx.login同一个code 如果报{"errcode":40029,"errmsg":"invalid code hint: [RIJFrrMre-UcIqxa] rid: 61c05c98-5cdac400-66abc4d5"} 请在真机下调试获取code

Iphone886的博客 2738

Word | 简单可操作的快捷公式编号、右对齐和引用方法

在理工科论文的写作中,涉及到大量的公式输入,我们希望能够按照章节为公式进行编号,并且实现公式居中,编号右对齐的效果。网上有各种各样的方法来实现,操作繁琐和简单的混在一起,让没有接触过公式编号的人感觉比较混乱。笔者自己博览相关博客,亲身实践,总结出一套自认为比较简便的公式编号、对齐和引用方法,在这里分享给大家~

qq_43466146的博客 3万+

abapGit 安装与初始化完整指南:从 on-premise 到 SAP BTP ABAP environment 的一条龙实践

本文为ABAP开发者提供abapGit从安装到团队协作的完整指南。内容涵盖社区版ZABAPGIT的on-premise安装、Eclipse ADT插件配置、BTP环境使用及常见网络问题处理。重点包括:获取最新构建的安装步骤、EN语言环境的重要性、ADT插件安装方法、以及如何实现on-premise与BTP间的代码迁移。文中特别强调企业环境下代理设置、证书配置等注意事项,并提供实际操作案例,如将RAP业务对象迁移到BTP环境。文末附有可复用的实施清单,帮助开发者快速落地abapGit。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 417

第一届省赛 Phone Number

题目描述 We know that if a phone number A is another phone number B’s prefix, B is not able to be called. For an example, A is 123 while B is 12345, after pressing 123, we call A, and not able to cal

Misdom_Tian_Ya的专栏 1188

YOLOv11改进 | 检测头篇 | 利用动态蛇形卷积DySnakeConv改进yolov11分割检测头(全网独家首发,Segment)

本文给大家带来的最新改进机制是一种我进行优化的专用于分割的检测头,在分割的过程中,最困难的无非就是边缘的检测,动态蛇形卷积(Dynamic Snake Convolution)通过自适应地聚焦于细长和迂回的局部结构,准确地捕捉管状结构的特征。这种卷积方法的核心思想是,通过动态形状的卷积核来增强感知能力,针对管状结构的特征提取进行优化,所以将这个卷积针对于YOLOv11的分割头进行融合是非常合适的,当然本文的检测头也支持用于目标检测,但是我将其设计出来是主要为了分割的读者使用的。

Snu77的博客 3431

codeforces502—C. The Phone Number(思维+构造)

C. The Phone Number time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Mrs. Smith is trying to contact her husband, John Smith, but s...

20164225的博客 507

PX4实战(四):PX4 uorb模块详解

本节主要讲解PX4中的uorb消息,主要包括uorb的基本概念使用、PX4内重要的uorb消息、如何自定义uorb消息以及使用uorb消息的注意点等,其中讲解重要uorb消息是为了对PX4内重要数据结构有初步的了解,有助于后期算法理解。uORB(micro Object Request Broker)是PX4中用于模块间通信的轻量级发布-订阅(Publish/Subscribe)机制。模块之间可以通过uORB传递消息,无需直接调用对方函数;提高系统模块化与解耦性;

PX4-SLAM-PNC 1932

指纹对抗指南:如何绕过Cloudflare与Akamai的5s盾与浏览器指纹检测

现在的CDN反爬技术虽然越来越强,但是道高一尺魔高一丈,只要掌握了指纹伪造、流量伪装、行为模拟这些核心技术,就可以绕过绝大多数的防护措施。对抗过程中要注意效率和成本的平衡,小规模爬取用Playwright+stealth最方便,大规模爬取用curl_cffi+代理池性价比最高,遇到验证码用打码平台或者自动识别服务,不需要死磕破解。本文介绍的方案已经在实战中验证过,可以绕过95%以上的Cloudflare/Akamai防护,成功率非常高。

专注于Python爬虫开发,分享爬虫技巧、项目实战与反爬经验,使用Scrapy、BeautifulSoup等工具,解决数据抓取难题。 297

可怕最可爱

上次比赛和电子科大同步赛抢了J题一个一血,差点蹦起来,结果发现TMD交成自己的号了。。。那个号在我们队的号之下就是一个僵尸号!哼唧哼唧! 好,第一个题,我数论没学好,知道三角形三个坐标怎么算面积,这个公式我一定要记住:1/2|x1y2+x2y3+x3y1-x1y3-x2y1-x3y2| 这个题题意也蛮简单的,就是给你一个凸多边形,找三个点组成的三角形面积最小,那当然是比较相邻的三个点啦。 Y...

weixin_30824479的博客 215

Python爬虫实战:中国土地市场网招拍挂数据抓取与分析

本文详细介绍了如何使用Python爬虫技术从中国土地市场网抓取土地招拍挂数据,并进行初步的数据分析与可视化。文章涵盖了爬虫的基本原理、反爬虫策略应对、数据清洗与存储、数据分析与可视化等多个方面,为土地市场研究者提供了一套完整的数据获取与分析解决方案。

2201_76125261的博客 684

codeforces 1017 problem C. The Phone Number(思维+构造)

C. The Phone Number time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Mrs. Smith is trying to contact her husband, John Smith, but s...

JiaYao的博客 495

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

The Phone Number CodeForces - 1017C(思维)

链接 题意:用1—n构造一个序列,使它的最长上升子序列与最长下降子序列之和最小 思路:将n分成m块,满足每块中数字递增,块与块递减,当块的长度为sqrt(n)时结果最优。 #include<iostream> #include<cstdio> #include<cmath> #include<cstring> using namespace std;...

weixin_43819578的博客 211

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

codeforces1017C The Phone Number

题目链接:http://codeforces.com/problemset/problem/1017/C 题意就是输出一个使得LIS与LDS之和最小的1~n的全排列。 看样例很容易被误导……以为构造n/2+1~n 1~n/2就可以,然后WA了两遍才发现其中有诈0.0 当时写了一个暴力求LIS与LDS最小和的程序: #include&lt;stdio.h&gt; #include&lt;a...

Reddy_Z的博客 401

[CodeForces] 1017C The Phone Number

The Phone Number time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Mrs. Smith is trying to contact her husband, John Smith, but she ...

单精度的梦 590

codeforces 1017 C. The Phone Number (构造+分块,LIS、LDS 的联系)

题目:http://codeforces.com/contest/1017/problem/C 题意:给一个数n,要求排列1~n,使得最长递增子序列LIS+最长递减子序列LDS最小。 思路:结论:若 ,则    当且仅当 LIS == LDS 时,LIS+LDS 最小(由基本不等式)。此时取  分块情况如下图: #include &lt;bits/stdc++.h&gt; #prag...

hxc2101的博客 518

Codeforces 1017C The Phone Number(瞎搞)

题目链接:The Phone Number 题意 构造一个 111 到 nnn 的排列,使得这个排列中最长上升子序列的长度加上最长下降子序列的长度最小。 输入 输入为一个整数 n&nbsp;(1≤105)n&nbsp;(1≤105)n~(1\leq 10^5)。 输出 输出 nnn 个整数,为 111 到 nnn 的排列,如果有多解输出任意一组。 ...

Dmaxiya 664

Codeforces 1017 C. The Phone Number

题意:构造一个[1,n]排列,要求次序列 最长严格递增子序列长度+最长严格递减子序列长度 最短 思路: eg n=9 第一次的思路: 2 1 4 3 6 5 8 7 9     -&gt;  ans=(n+1)/2=7 但是最优的是 3 2 1 6 5 4 9 8 7 -&gt; ans=6 第二次的思路就是枚举n的因子了 a*b=n 就分成a个块 每个块b个元素递减 还是WA!!!心痛...

qq_36996464的博客 421

Codeforces 1017 CThe Phone Number

题意:给了数n代表数列的长度,要求构造一个数列使得最长上升自序列的长度和最长下降子序列的长度和最小 分析:  构造.我们把这个序列分成若干段,首先满足最长上升子序列的长度最小的话,就尽可能让每一段是递减的,而最长上升子序列的长度和子段有关.  再考虑最长下降子序列,因为已经每一段之间都是递减的关系,那么子段递增才可能尽可能让递减序列的长度小.  至于分成多少段,我们假设分成x段,则最长上升子序列...

zhlbjtu2016的博客 438

codeforce 1017C The Phone Number

The Phone Number 题 意:输入n让你用1~n够着一个最长上升子序列和最长下降子序列的和最短。 数据范围: 1&lt;=n&lt;=1e5 输入样例: 4 输出样例: 3 4 1 2 思 路:样例有时候总能给出一点思路。想出最优的构造方法。这个题的构造方法是分块,分根号n块。例如n=9 那么 分三块 789456123这个时候肯定是最优的。 #i...

子灬丶逾 396

Codeforces 1017 C. The Phone Number[贪心构造]

题意:给出一个n,构造一个n的排列(包含1-n的所有数字)使得LIS,LDS的长度和最小 题解:我们可以分block块,LDS的长度就是block,每一个块的长度nblocknblock\frac{n}{block}为LIS的长度,我们要最小化nblock+blocknblock+block\frac{n}{block} + block,由均值不等式a+b≥2∗a∗b−−−−√a+b≥2∗a...

Zephyr的博客 232

Codeforces 1017C The Phone Number

题目 对于 $1$ 到 $n$ 的一个排列,用 LIS 表示其最长上升子序列的长度,用 LDS 表示其最长下降子序列的长度。输出一个使得 LIS + LDS 最小的排列。 分析 这道题是 CF Round 502 的 C 题。比赛时我毫无思路,过了 D 题之后,面对 C 束手无策,非常难受。下面来仔细说一说「如何思考这个问题」。 观察样例可以看出一种「使得 LIS + LDS 比较小」的排列模式(...

weixin_30361753的博客 122

codeforces #502 C The Phone Number【数学】

题目链接:http://codeforces.com/contest/1017/problem/C 题意:给出n,输出由1到n排列的数列中最长上升子序列的长度+最长递减子序列长度和的最小的数列,如果有多个,输出其中一个; 思路:假设n是9,那么正确的排列方式是  789 | 456 | 123 ,我们可以看到,用 | 分开的单个区域各自都为一个独立的上升子序列,从左往右看,每一个区域的的上升子...

Y390d的博客 253

CodeForces - 1017C The Phone Number

题面在这里! 一开始有一种构造猜想,可以把答案降到 sqrt(N) 级别。 考虑把 {1,2,...,n} 分成 sqrt(N) 段,每一段是连续的sqrt(N)个数。然后我们倒着把每一段数放上。 比如 n=9 的时候就形如 7,8,9 ; 4,5,6 ; 1,2,3. 这样就能保证 LIC和LDC都是 sqrt(N),从而答案就是 2sqrt...

weixin_30840573的博客 99

codeforces 1017C The Phone Number [分块+贪心]

题目链接 题意:给你一个数n,让你给出一个有n个数的排列,这n个数分别是1到n,求一个最长上升子序列和最长递减子序列的长度和最小的排列。 题解:通过样例1可以看出只要n是某个整数的平方,那么可以将其分为sqrt(n)块,每一块为sqrt(n)个,那么夹杂在 (n-1)^2 和 n^2 的数该如何方块呢,为何方块就是因为如果方块进行排列:那么每个块以内按递增进行排列,块与块之间按递减排列, 块数...

OOOak 341
上一篇: The Bits CodeForces - 1017B(思维)
下一篇: The Wu CodeForces - 1017D(状态压缩)
Guuuuuu老师儿
博客等级 码龄9年 259粉丝 718原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值