BZOJ1432: [ZJOI2009]Function(找规律)
2024-10-20 11:59:38
Time Limit: 5 Sec Memory Limit: 64 MB
Submit: 1523 Solved: 1128
[Submit][Status][Discuss]
Description
有n个连续函数fi(x),其中1≤i≤n。对于任何两个函数fi(x)和fj(x),(i!=j),恰好存在一个x使得fi(x)=fj(x),
并且存在无穷多的x使得fi(x)<fj(x)。对于任何i;j;k,满足1≤i<j<k≤n,则不存在x使得fi(x)=fj(x)=fk(x)。
如上左图就是3个满足条件的函数,最左边从下往上依次为f1;f2;f3。右图中红色部分是这整个函数图像的最低层
,我们称它为第一层。同理绿色部分称为第二层,蓝色部分称为第三层。注意到,右图中第一层左边一段属于f1,
中间属于f2,最后属于f3。而第二层左边属于f2,接下来一段属于f1,再接下来一段属于f3,最后属于f2。因此,
我们称第一层分为了三段,第二层分为了四段。同理第三层只分为了两段。求满足前面条件的n个函数,第k层最少
能由多少段组成。
Input
一行两个整数n; k。1 ≤ k ≤ n ≤ 100。
Output
一行一个整数,表示n 个函数第k 层最少能由多少段组成。
Sample Input
1 1
Sample Output
1
HINT
Source
考虑最优的情况一定是在所有线段的中间插一条,因此每一层会多$2$个贡献
又因为正着和倒着是一样的,因此要从$n-k+1$和$k$中取个$min$
这里有图
https://blog.csdn.net/CHNWJD/article/details/71909581
#include<cstdio>
#include<algorithm>
using namespace std;
int main() {
int N, K;
scanf("%d %d", &N, &K);
printf("%d", N == ? : (min(K, N - K + ) << ));
return ;
}
最新文章
- jquery ajax解析
- tn文本分析语言(二) 基本语法
- Android系统build.prop文件
- css3实现轮播
- ACM题目————Robot Motion
- HDU 1158 Employment Planning【DP】
- Codeforces Round #313 (Div. 2) E. Gerald and Giant Chess (Lucas + dp)
- [BUGFIX]__import_pywin32_system_module__
- 数据结构(树链剖分):COGS 2109. [NOIP2015] 运输计划
- C++ Built-In Array 的语义
- thinkphp 的两种建构模式 第一种一个单入口里面定义两个模块,前台和后台,函数控制模块必须function.php前台加载前台模块的汉书配置文件,后台加载后台模块的汉书配置文件,公共文件共用。第二种架构模式两个单入口文件,分别生成两个应用定义define。。。函数可以定义配置文件。。。。
- 描述一下Spring框架的作用和优点?
- solr8.0 从数据库导入数据(三)
- C++ MFC万能的类向导
- Appium+Python自动化 2 定位元素方式
- Java高级教程
- 【netcore基础】.Net core使用swagger自动生成开发文档
- uml的几种关系总结
- Mayor&#39;s posters---poj2528线段树、离散化
- Bootstrap+AngularJS对话框实例