[Bzoj 1432] [ZJOI2009]Function(结论推导题)
我们先看一下题目:

(有没有和我一样的朋友看到这道题以为是几何不可做题
这个题目真的很难理解,并且样例也给得太水了吧!
理解题目是必不可少的(这并不是你看了半小时题目的理由)——首先我们先简化题目
1:有n个连续函数fi(x)这句话放在平面直角坐标系内就是有n条直线(应该挺好理解的这句话)
2:对于任意fi(x)和fj(x),都有一个值x使两个相等等同与任意两条直线交于一点
3:不存在fi(x)=fj(x)=fk(x)就是不会有三条及以上的直线交于同一点
我们在这里便做一个总结:
题目给我们的意思是——在一个平面直角坐标系内有n条直线,两两相交于一点,不存在三条及以上的直线交于同一点;
接下来我们再解释第几层——
我们便以样例的图来说明:



我们先将这三条线段画出来,将他们的交点来聚焦,再将三条线段染上颜色,层数怎么划分应该很明显了吧(着实不是很好理解,可以自己多手画几幅图)
我们看重点,也就是题目所求我们应该怎么办——
依旧是上面那副图,首先我们看第一层(蓝色),不用想,这一层的最小值是2,同理第二层(绿色)的最小值是4。
然后我们看第三层(你是不是以为我又要同理说是3了),这道题最神奇的地方就在这。
我们完全可以将这幅图旋转一下,这时第三层就变成了原先的第一层,最小值也就是2了。看到这里,我们便发现了一个重要性质:答案具有对称性!具体来说是k(k<n/2)与n-k+1的答案一样!
所以我们只需要思考前n/2的答案就可以。
我们看到这张图 我们可以发现第一层1个点,第二层2个点,第三层3个点.......我们可以证明这样一定是最优的,首先两点必定交于一点,那么第一层便只有一个点,在第二层假如最小不为2,那就是1~2-1中的一个(在第二层看来其实就是1啦)但是第二层需要第三条线,如果不为2那么第三条线与第一,第二条线的交点就为1,那么就与题目中的不存在fi(x)=fj(x)=fk(x)相矛盾,同样的我们可以这样一直扩展,可以得知假如第k(k<n/2)层的交点数比k小,那么必有三线或三线以上交于同一点,与题目矛盾,所以第k(k<n/2)层最小为k点。
看图得知:为这一层的线段有关的点不仅包括本层还与上一层有关。
所以可知:第一层:1
第二层:1+2
第三层:2+3
。。。。。。
又因为线段数为点数加1,我们便得到了最终答案:2,4,6,8.......。
所以我们可以归纳一下:n==1时 答案=1;
n!=1&&k<=n/2时,答案=2*k;
n!=1&&k>n/2时,答案=2*(n-k+1);
所以就可以愉快的贴代码啦

#include<iostream>
#include<cstdio>
using namespace std;
long long n,k,ans;
int main()
{
scanf("%lld%lld",&n,&k);
if(n==1)
printf("1");
else
if(k<=n/2)
printf("%lld",2*k);
else
printf("%lld",2*(n-k+1));
return 0;
}
Funcition
(果然结论题代码都很短啊)
(那么慢走)
(不懂可以加qq2733524923我们一起探讨)
[Bzoj 1432] [ZJOI2009]Function(结论推导题)的更多相关文章
- BZOJ 1432: [ZJOI2009]Function(新生必做的水题)
1432: [ZJOI2009]Function Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1205 Solved: 895[Submit][Sta ...
- BZOJ 1432: [ZJOI2009]Function
1432: [ZJOI2009]Function Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 1046 Solved: 765[Submit][Sta ...
- bzoj 1432 [ZJOI2009]Function 思想
[bzoj1432][ZJOI2009]Function Description Input 一行两个整数n; k. Output 一行一个整数,表示n 个函数第k 层最少能由多少段组成. Sampl ...
- bzoj 1432 [ZJOI2009]Function(找规律)
[题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=1432 [思路] 找(cha)规(ti)律(jie) 分析戳这儿 click here ...
- 1432: [ZJOI2009]Function
1432: [ZJOI2009]Function Time Limit: 5 Sec Memory Limit: 64 MBSubmit: 710 Solved: 528[Submit][Stat ...
- bzoj千题计划138:bzoj1432: [ZJOI2009]Function
http://www.lydsy.com/JudgeOnline/problem.php?id=1432 http://blog.sina.com.cn/s/blog_86942b1401014bd2 ...
- 【BZOJ1432】[ZJOI2009]Function(找规律)
[BZOJ1432][ZJOI2009]Function(找规律) 题面 BZOJ 洛谷 题解 这...找找规律吧. #include<iostream> using namespace ...
- UVA - 10014 - Simple calculations (经典的数学推导题!!)
UVA - 10014 Simple calculations Time Limit: 3000MS Memory Limit: Unknown 64bit IO Format: %lld & ...
- [BZOJ 2759] 一个动态树好题
[BZOJ 2759] 一个动态树好题 题目描述 首先这是个基环树. 然后根节点一定会连出去一条非树边.通过一个环就可以解除根的答案,然后其他节点的答案就可以由根解出来. 因为要修改\(p_i\),所 ...
随机推荐
- Apache Shiro漏洞绕过waf小tips
看了篇文章觉得不错记录下以免以后找不到,原理是通过base64解码特性导致waf不能成功解码绕过waf检测从而进行攻击 解码情况: payload php python openresty java ...
- pycharm安装第三方库
https://jingyan.baidu.com/article/4853e1e54b845e1909f7268f.html
- 安卓开发——WebView+Recyclerview文章详情页,解决高度问题
安卓开发--WebView+Recyclerview文章详情页,解决高度问题 最近在写一个APP时,需要显示文章详情页,准备使用WebView和RecyclerView实现上面文章,下面评论.出现了W ...
- 【UE4】GAMES101 图形学作业0:矩阵初识
作业描述 给定一个点P=(2,1), 将该点绕原点先逆时针旋转45◦,再平移(1,2), 计算出变换后点的坐标(要求用齐次坐标进行计算). UE4 知识点 主要矩阵 FMatrix FBasisVec ...
- NKOJ-4573 Falsita
问题描述: 到海边了呢...... 如果没有那次选择,现在是不是会好些呢...... 都过去了. 仰望着星空,迎面吹过一阵阵海风,倚靠着护栏,Fine 在海边静静地伫立着,在一个个无际的长夜后,Fin ...
- 页表 Page tables
逻辑地址与物理地址的转化 页表是由页表项(PTE)组成的数组.512个PTE构成一个页表页(Page-table page). PTE中包含了物理页码(PPN physical page number ...
- jQuery常用验证
1.文本框不能为为空 if ($("#RushStartTime").val() == "") { alert("请输入该产品.."); $ ...
- SPOJ GSS8 - Can you answer these queries VIII | 平衡树
题目链接 这一道题的修改操作用平衡树都很容易实现,难处理的是询问操作. 要想解决询问操作,只要知道如何在平衡树上快速合并左右两个区间的答案即可. 设$Ans_{[l,r]}^k=\sum\limits ...
- Win10自动备份oracle数据库
1.环境 操作系统:win10 数据库: 2.创建backup.bat文件 [ @echo offset name=%date:~0,4%%date:~5,2%%date:~8,2%set backu ...
- 【数据结构&算法】08-栈概念&源码
目录 前言 栈的定义 定义 常见应用 栈的常见应用 进栈出栈变化形式 栈的抽象数据类型 栈的顺序存储结构及实现 栈的顺序存储结构 顺序栈 顺序栈的结构定义 两栈共享空间 栈的链式存储结构及实现 栈的链 ...