摘要:
题目(第四题第五题)题目有两个操作,x/2和x-1,很容易就想到和二进制有关,但具体关系是什么呢。可以考虑x/2和x-1都是左移的操作,于是就可以发现X开头的有趣数列中的数都是x的二进制前缀。例如 111 110 11 10 1 0那么判断[a,b]中的有趣数列是不是含有k,只需要把k当做前缀然后取和区间[a,b]相交的部分就可以了。这个程序写得好丑= =。View Code 1 program Neayo; 2 const 3 inf='sequence.in'; 4 ouf='sequence.out'; 5 var 6 i,j,t:lon... 阅读全文
摘要:
题目首先是一个数据范围为2000的,这个可以用平方算法做。要使它成为一个非降序列的合并次数最小,我们可以贪心地想到要使合并后的值尽量小,不然就会导致后面需要的合并次数增多。我们用c[i]记录前缀和,f[i]表示以i结尾的这一段序列的最后一个元素的值,g[i]表示到i为止的合并次数,那么就可以得到一个转移方程。f[i]=c[i]-c[j](f[j]<=c[i]-c[j])g[i]=g[j]+i-j-1;因为c[i]-c[j]在downto的过程中是单调递增的,所以只要找到一个可以转移的就可以break了。View Code program Neayo;const inf='sequ 阅读全文
摘要:
并(sequence)3.1 题目描述给定一个序列,你每次可以合并相邻两个元素,新的元素为这两个元素的和。你需要使得若干次合并之后的序列非降,求最小合并次数。3.2 输入格式第一行一个数 n,表示序列长度。接下来一行 n个正整数,表示这个序列。3.3 输出格式一行一个数,表示最小合并次数。3.4 输入样例58 2 7 3 13.5 输出样例33.6 数据范围对于 30%的数据:n ≤ 100对于 100%的数据:n ≤ 1500 ,序列元素大小不超过 1000 。CCL的消遣(CCL)[题目描述] AS we know,CCL是一个很无聊很无聊很无聊的人.有一天,CCL注意到地面上有很多棍子, 阅读全文
摘要:
2.1 题目描述路上挂着一些灯,第 i 个灯坐标为(xi, yi) 。每个灯的照射范围为一个三角形,半张角为 zi 。你有一架飞机,但是只能飞固定高度。由于未知原因(目测秋锅农气过重),飞机只能在光下飞行。你的任务是找一个最大的高度来从 L 飞到R 。如图,红线所示高度是一个合法高度,但是不是最高的。2.2 输入格式第一行三个数 n,L,R ,其中n 是整数,表示灯的个数。接下来 n行,每行 3 个实数x, y, z ,描述一个灯。2.3 输出格式一行一个数,表示最大高度。至少保留 6 位小数。你的答案正确,当且仅当与标准输出相对误差或绝对误差不超过 10− 。2.4 样例输入2 3.2 7. 阅读全文