[ZJOI2009]函数 BZOJ1432】的更多相关文章

题目描述 有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.右图中红色部分是这整个函数图像的最低层,我们称它…
题目链接:[ZJOI2009]函数 对于$n=1$的情况,直接输出$1$ 对于$n>1$的情况,由于我们可以将图上下反转,所以第$k$层的情况可以被转成第$n-k+1$层 规律自己打个表可以推出来:$ans=min(k,n-k+1)*2$ 关键是如何证明它,我们用数学归纳法证明 当$k=1$,时,很明显$ans=2$(即最下端的那两部分) 假设在$k-1$的时候结论成立,即此时$ans=2*(k-1)$, 那么在$k$的时候 我们将$ans$中的每一段向上延伸,在碰到交点时停止,所得到的新$2(…
传送门 Solution 画图找规律.. Code //By Menteur_Hxy #include <cstdio> #define min(a,b) ((a)>(b)?(b):(a)) int main() { int n,k;scanf("%d %d",&n,&k); printf("%d",n==1?1:(min(k,n-k+1)<<1)); return 0; }…
[BZOJ1432][ZJOI2009]Function(找规律) 题面 BZOJ 洛谷 题解 这...找找规律吧. #include<iostream> using namespace std; int n,k; int main() { cin>>n>>k;k=min(k,n-k+1); cout<<(n==1?1:k<<1)<<endl; return 0; }…
http://www.lydsy.com/JudgeOnline/problem.php?id=1432 http://blog.sina.com.cn/s/blog_86942b1401014bd2.html #include<cstdio> #include<algorithm> using namespace std; int main() { int n ,k; scanf("%d%d",&n,&k); printf( ? : min(k…
Description Input 一行两个整数n; k. Output 一行一个整数,表示n 个函数第k 层最少能由多少段组成. Sample Input 1 1 Sample Output 1 HINT 对于100% 的数据满足1 ≤ k ≤ n ≤ 100. 正解:数学 解题报告: 网上都没有题解,那我也不写了吧. //It is made by jump~ #include <iostream> #include <cstdlib> #include <cstring…
Description Input 一行两个整数n; k. Output 一行一个整数,表示n 个函数第k 层最少能由多少段组成. Sample Input 1 1 Sample Output 1   构造方法就是不断的画X(两条线段),如果是奇数最上面(or最下面)的画— 我也不知道是怎么想到这么构造的 显然如果k>n-k+1就交换一下,易得答案就是2*k…
Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 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). 如上左…
[bzoj1432][ZJOI2009]Function Description Input 一行两个整数n; k. Output 一行一个整数,表示n 个函数第k 层最少能由多少段组成. Sample Input 1 1 Sample Output 1 HINT 对于100% 的数据满足1 ≤ k ≤ n ≤ 100. 找规律 之后每次增加一条线,都不会影响前k层的值,但是因为题目说任意两条直线不平行,于是一定会有交点 我们从上往下增加直线,当已经放了k-1条直线,在放第k条直线的时候,如果直…
1432: [ZJOI2009]Function Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1046  Solved: 765[Submit][Status][Discuss] Description Input 一行两个整数n; k. Output 一行一个整数,表示n 个函数第k 层最少能由多少段组成. Sample Input 1 1 Sample Output 1 HINT 对于100% 的数据满足1 ≤ k ≤ n ≤ 100. Sou…
1432: [ZJOI2009]Function Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 710  Solved: 528[Submit][Status][Discuss] Description Input 一行两个整数n; k. Output 一行一个整数,表示n 个函数第k 层最少能由多少段组成. Sample Input 1 1 Sample Output 1 HINT 对于100% 的数据满足1 ≤ k ≤ n ≤ 100. Sour…
1432: [ZJOI2009]Function Time Limit: 5 Sec  Memory Limit: 64 MBSubmit: 1205  Solved: 895[Submit][Status][Discuss] Description Input 一行两个整数n; k. Output 一行一个整数,表示n 个函数第k 层最少能由多少段组成. Sample Input 1 1 Sample Output 1 HINT 对于100% 的数据满足1 ≤ k ≤ n ≤ 100. Sou…
[BZOJ1434][ZJOI2009]染色游戏(博弈论) 题面 BZOJ 洛谷 题解 翻硬币的游戏我似乎原来在博客里面提到过,对于这类问题,当前局面的\(SG\)函数就是所有反面朝上的硬币单一存在时的\(SG\)函数的异或和.现在要考虑的是如何求解单一硬币存在于场上时的\(SG\)函数,这种东西....打表吧... #include<iostream> #include<cstdio> #include<cmath> using namespace std; inli…
[BZOJ1413][ZJOI2009]取石子游戏(博弈论,动态规划) 题面 BZOJ 洛谷 题解 神仙题.jpg.\(ZJOI\)是真的神仙. 发现\(SG\)函数等东西完全找不到规律,无奈只能翻题解. 首先设\(L[i][j]\)表示在\([i,j]\)这一段区间的左侧放上一堆数量为\(L[i][j]\)的石子后,先手必败.同理定义\(R[i][j]\)表示右侧. 首先我们可以证明\(L[i][j]\)唯一,假设存在两个\(L[i][j]\),显然较大的那个可以通过一步转移转移到较小的那个,…
python提供了一些有趣且实用的函数,如any all zip,这些函数能够大幅简化我们得代码,可以更优雅的处理可迭代的对象,同时使用的时候也得注意一些情况   any any(iterable) Return True if any element of the iterable is true. If the iterable is empty, return False 如果序列中任何一个元素为True,那么any返回True.该函数可以让我们少些一个for循环.有两点需要注意 (1)如…
javascript中最经典也最受非议的一句话就是:javascript中一切皆是对象.这篇重点要提到的,就是任何jser都不陌生的Object和Array. 有段时间曾经很诧异,到底两种数据类型用来存储数据有什么不同.于是,我打算探究探究. 一.掌握三种数据类型 首先,一个前提必须掌握的,就是必须理解javascript的数据类型分类,主要分为以下三种: 第一种类型是标量(scalar),也就是一个单独的字符串(string)或数字(numbers),比如"北京"这个单独的词. 第二…
函数本身就是一段JavaScript代码,定义一次但可能被调用任意次.如果函数挂载在一个对象上,作为对象的一个属性,通常这种函数被称作对象的方法.用于初始化一个新创建的对象的函数被称作构造函数. 相对于其他面向对象语言,在JavaScript中的函数是特殊的,函数即是对象.JavaScript可以把函数赋值给变量,或者作为参数传递给其他函数,甚至可以给它们设置属性等. JavaScript的函数可以嵌套在其他函数中定义,这样定义的函数就可以访问它们外层函数中的任何变量.这也就是所谓的"闭包&qu…
一,内联函数 1.内联函数的概念 C++中的const常量可以用来代替宏常数的定义,例如:用const int a = 10来替换# define a 10.那么C++中是否有什么解决方案来替代宏代码片段呢?C++中推荐使用内联函数代替宏代码片段,C++中使用inline关键字声明内联函数.注意:内联函数声明时inline关键字必须和函数定义结合在一起,否则编译器会直接忽略内联请求. 2.内联函数示例 # include<iostream> using namespace std; /* 宏定…
2017年1月3日 星期二 大一学习一门新的计算机语言真的很难,有时候连函数拼写出错查错都能查半天,没办法,谁让我英语太渣. 关于计算机语言的学习我想还是从C语言学习开始为好,Python有很多语言的优势,又抛弃了基层语言的繁杂. 第一天:函数的使用 和c语言一样,python有自己集成好的函数库,而我们就是使用..像字符串函数(可以使用help(str)进行查看): 会出来一大堆的形容,作为一个新手,我也根本不懂这到底是什么鬼,但是往下走,可以发现很多的函数. 许多的函数也是用英语在进行介绍,…
前言 javascript中没有块级作用域(es6以前),javascript中作用域分为函数作用域和全局作用域.并且,大家可以认为全局作用域其实就是Window函数的函数作用域,我们编写的js代码,都存放在Window函数内(这是个假设),也就是说javascript中只有函数作用域(前面假设做前提下). 作用域是什么 作用域是一个盒子,盒子内部的变量只能在当前盒子中使用,作用域盒子是可以嵌套的,内部盒子的变量对父级盒子是不可见的,因为盒子封闭了他们并且盒子不透明,但是盒子可以看到父级盒子内部…
很久以前看到一篇文章,讲某个大网站储存用户口令时,会经过十分复杂的处理.怎么个复杂记不得了,大概就是先 Hash,结果加上一些特殊字符再 Hash,结果再加上些字符.再倒序.再怎么怎么的.再 Hash...看的眼花缭乱. 当时心想这么复杂应该很安全了吧.事实上即使现在,仍有不少人是这么认为的.所以在储存账号口令时,经常会弄些千奇百怪的组合. 奇怪的算法有意义吗,在什么情况下能派上用场?是否有更简单合理的替代方案? 这问题先从拖库说起. 知道算法才能破解 数据库中的口令,都是以 Hash 形式储存…
一.作用域(scope) 所谓作用域就是:变量在声明它们的函数体以及这个函数体嵌套的任意函数体内都是有定义的. function scope(){ var foo = "global"; if(window.getComputedStyle){ var a = "I'm if"; console.log("if:"+foo); //if:global } while(1){ var b = "I'm while"; conso…
C++获取时间函数众多,何时该用什么函数,拿到的是什么时间?该怎么用?很多人都会混淆. 本文是本人经历了几款游戏客户端和服务器开发后,对游戏中时间获取的一点总结. 最早学习游戏客户端时,为了获取最精确的时间,使用两个函数 BOOL QueryPerformanceFrequency(LARGE_INTEGER *lpFrequency); BOOL QueryPerformanceCounter(LARGE_INTEGER *lpCount); 这两个函数分别是获取CPU的时钟频率和CPU计数器…
def outer(func): def inner(): print('hello') print('hello') print('hello') r = func() print('end') print('end') print('end') return inner @outer def f1(): print("f1 called") # 1:执行outer函数,并且将其下面的函数名(这里就是f1函数),当做参数传递给outer函数 # 2:将outer的返回值重新赋值给f1…
基本数据类型补充: set 是一个无序且不重复的元素集合 class set(object): """ set() -> new empty set object set(iterable) -> new set object Build an unordered collection of unique elements. """ def add(self, *args, **kwargs): # real signature un…
在使用Myeclipse10部署完项目后,原先不出错的项目,会有红色的叉叉,JSP页面会提示onclick函数错误 Cannot return from outside a function or method. 释义:无法从外部返回函数或方法. 如下图所示: 为此我在百度上了解后找到了下面的解决方案: 方法:window -->preferences -->myeclipse -->validation -->javascript validator for Js files 然…
Js代码分为两个阶段:编译阶段和执行阶段 Js代码的编译阶段会找到所有的声明,并用合适的作用域将它们关联起来,这是词法作用域的核心内容 包括变量声明(var a)和函数声明(function a(){})在内的所有声明都会在代码被执行前的编译阶段首先被处理 过程就好像变量声明和函数声明从他们代码中出现的位置被移动到执行环境的顶部,这个过程就叫做提升 只有声明操作会被提升,赋值和逻辑操作会被留在原地等待执行 变量声明 Js编译器会把变量声明看成两个部分分别是声明操作(var a)和赋值操作(a=2…
本文用于收集在运维中经常使用的系统内置函数,持续整理中 一,常用Metadata函数 1,查看数据库的ID和Name db_id(‘DB Name’),db_name('DB ID') 2,查看对象的ID和Name,对象的Schema,对象的定义 OBJECT_ID ( 'schema_name . object_name','object_type' ) OBJECT_NAME ( object_id [, database_id ] ) OBJECT_SCHEMA_NAME ( object…
本篇主要介绍普通函数.匿名函数.闭包函数 目录 1. 普通函数:介绍普通函数的特性:同名覆盖.arguments对象.默认返回值等. 2. 匿名函数:介绍匿名函数的特性:变量匿名函数.无名称匿名函数. 3. 闭包函数:介绍闭包函数的特性. 1. 普通函数 1.1 示例 function ShowName(name) { alert(name); } 1.2 Js中同名函数的覆盖 在Js中函数是没有重载,定义相同函数名.不同参数签名的函数,后面的函数会覆盖前面的函数.调用时,只会调用后面的函数.…
1.会冒泡到兄弟元素么? $(function(){ $("#a").click(function(){alert("a")}) $("#b").click(function(){alert("b")}) $("#c1").click(function(){alert("c1")}) $("#c2").click(function(){alert("c2&q…