随笔分类 - 二分、三分、尺取
摘要:题意: 交互题 有一个对你隐藏的长度为n的整数数组v(数组里面的数是1...n,且每一个数只能出现一次)。刚开始数组中每一个位置的值你都不知道,每一次你可以询问数组中某个位置的数是多少,你最多可以询问100次。最后你需要输出一个下标k,你需要保证v[k]<min(v[k-1],v[k+1]),题目设
阅读全文
摘要:题意: 给你n个边长ai,你需要挑出来4个边使得它们可以构成等腰梯形。问你能构成多少种不同的等腰梯形 题解: 我们首先处理一下边长为x的且这个边长出现大于等于2次的边,因为等腰梯形需要两条相等的边 然后枚举上底a,和下底b,这个时候取得gcd(a,b),然后找和gcd(a,b)互质的边,且这个边要出
阅读全文
摘要:题意: 找到第k个与m互质的数 题解: 容斥原理求区间(1到r)里面跟n互质的个数时间复杂度O(sqrt(n))… 二分复杂度也是O(log(n)) 容斥原理+二分这个r 代码: 1 #include<stdio.h> 2 #include<string.h> 3 #include<iostream
阅读全文
摘要:代码+解析: 1 //题意: 2 //有一个大炮在(0,0)位置,为你可不可以把炮弹射到(x,y)这个位置 3 //题目给你炮弹初始速度,让你求能不能找出来一个炮弹射出时角度满足题意 4 //题解: 5 //由物理公式分析可知: 6 //Vx=v*cos(a) 7 //Vy=v*sin(a) 8 /
阅读全文
摘要:三分: 和二分非常类似的一个算法,与二分不同的是 二分是单调的,而三分是一个先增后减或者先减后增 三分可以求出峰值。 注意三分一定是严格单调的,不能有相等的情况。 讲个例题: 题目 题意: 一个人发现他的影子的长度随着他在灯泡和墙壁之间走到时发生着变化。一个突然的想法出现在脑海里,他想知道他的影子的
阅读全文
摘要:题意: 给你n天的预期,你需要把这n天划分成m段(保证原序列位置不变),让你使这m段中的最大值尽可能小,你要怎么划分。 题解: 1 //题解: 2 //题目很明显就是一道二分题。你要去二分答案。 3 #include<stdio.h> 4 #include<stdlib.h> 5 #include<
阅读全文
摘要:一、首先介绍一下什么叫尺取 过程大致分为四步: 1.初始化左右端点,即先找到一个满足条件的序列。 2.在满足条件的基础上不断扩大右端点。 3.如果第二步无法满足条件则到第四步,否则更新结果。 4.扩大左端点,并且回到第二步。 很明显如果要这样做,那么这个序列要是一个有顺序的序列,因为这样的话保证左端
阅读全文
摘要:题目 题意: 一共n种身高,每一个士兵有一个身高。你需要把他们安排成k行(士兵不需要全部安排),每一行士兵身高差距小于等于1.你要找出来最多能安排多少士兵 题解: 这道题很容易就能看出来就是一道二分,二分一行有多少士兵(假设二分出来的值为x) 因为题目上说明每一行士兵的身高差距不能大于1,所以只有输
阅读全文
摘要:Alice is providing print service, while the pricing doesn't seem to be reasonable, so people using her print service found some tricks to save money.
阅读全文
摘要:Farmer John is an astounding accounting wizard and has realized he might run out of money to run the farm. He has already calculated and recorded the
阅读全文
摘要:The most prestigious sports club in one city has exactly N members. Each of its members is strong and beautiful. More precisely, i-th member of this c
阅读全文
摘要:最让HSQ学长头疼的就是洗衣服了。洗完之后,每件衣服都有一定单位水分,在不使用烘干器的情况下,每件衣服每分钟自然流失1个单位水分,但如果使用了烘干机则每分钟流失K个单位水分。令人遗憾是HSQ所在的宿舍楼只有1台烘干机,而每台烘干机同时只能烘干1件衣服,请问要想烘干N件衣服最少需要多长时间? 输入 第
阅读全文