BZOJ 1432

Description

Input

一行两个整数n; k。

Output

一行一个整数,表示n 个函数第k 层最少能由多少段组成。
 
 
#include<iostream>
using namespace std;
int main()
{
    int n,k;
    cin>>n>>k;
    if(n==1)cout<<1;
    else cout<<(min(k,n-k+1)<<1);
    return 0;
}
1432

做这个题目还是需要思考,代码很好写,但是思路不好想。

由于图形可以翻转,其性质依然满足题目,所以在k>n/2的情形下,f[k]=f[n-k+1],

由于每两条直线都不平行,都有交点,并且最多一个交点,所以需要加个平方。

这个的话找一找规律就能发现,就不再详细解释

m<<2意思是m*2*2;

 

 
posted @ 2017-05-11 16:43  Grary  阅读(122)  评论(0编辑  收藏  举报
博客园 首页 私信博主 编辑 关注 管理 新世界