博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
BZOJ 1432: [ZJOI2009]Function(新生必做的水题)
阅读量:7101 次
发布时间:2019-06-28

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

1432: [ZJOI2009]Function

Time Limit: 5 Sec  Memory Limit: 64 MB
Submit: 1205  Solved: 895
[][][]

Description

Input

一行两个整数n; k。

Output

一行一个整数,表示n 个函数第k 层最少能由多少段组成。

Sample Input

1 1

Sample Output

1

HINT

对于100% 的数据满足1 ≤ k ≤ n ≤ 100。

Source

题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1432

分析:我们很容易知道,n条边两两相交可以截出n^2段线段(自己画画就出来了QAQ),所以对于每一层,有如下规律:

当k=1,线段数sum=n;

当k>=2时,线段数sum=(n-k+1)*2;//(推了好久才推出来的公式竟然WA了)

可惜此题叫你求出每一层最少的线段数,所以显然对前面的结论得做判定了,上面得出的线段数并非是最小值!

所以就会存在如下结论:

当n==1-->minn=1;

当n>=2-->minn=min(k,n-k+1)*2;//这个结论就是由上述推导过程加判断得出来的!QAQ

下面给出AC代码:

1 #include 
2 using namespace std; 3 int main() 4 { 5 int n,k; 6 while(scanf("%d%d",&n,&k)!=EOF) 7 { 8 if(n==1) 9 cout<<1<

 

转载于:https://www.cnblogs.com/ECJTUACM-873284962/p/6914398.html

你可能感兴趣的文章
K-近邻算法(KNN)
查看>>
java服务端微信小程序支付
查看>>
flip 翻转效果 css3实现
查看>>
Cocos Creater 监听程序到后台和重新到前台
查看>>
Windows 10 应用创建模糊背景窗口的三种方法
查看>>
Python类与标准库
查看>>
学生表、课程表、 成绩表 、教师表sql练习
查看>>
vue inheritAttrs、$attrs和$listeners使用
查看>>
诗歌的分类
查看>>
nexus maven私服搭建
查看>>
系统空间占用排查 tomcat超大日志catalina.out 删除 与df 状态更新
查看>>
Flutter完整开发实战详解
查看>>
Myeclipse如何改变编码方式
查看>>
ios7 设置status bar风格
查看>>
Android Service 组件
查看>>
TRUNC 截取日期或数字,返回指定的值。
查看>>
【erlang】erlang几种生成随机数的方法
查看>>
BizTalk开发系列(二十二) 开发自定义Map Functoid
查看>>
在Windows Mobile和Wince(Windows Embedded CE)下Win32项目加入ATL支持
查看>>
在Asp.Net MVC中用Ajax回调后台方法
查看>>