CF633(div.2)C. Powered Addition】的更多相关文章

题目描述 http://codeforces.com/contest/1339/problem/C 给定一个长度为 \(n\) 的无序数组,你可以在第 \(x\) 秒进行一次下面的操作. 从数组选取任意个数字(也可以一个都不选),为他们全部都加上 \(2^{x-1}\) . 询问你最少可以用多少秒,使得数组非降序排列. 解题 最快策略 首先简化一下问题,假设操作变成:第 \(x\) 秒,可以选取任意个数字,为他们全部都加上 \(1\) .分析一下在这个条件下,可以达到最少秒数的策略. 假设我们有…
Powered Addition 题意 给出n个数字,现在你可以在第x秒,选择任意数量的下标,让这些位置上的数加上\(2^{x-1}\),问最快需要几秒使得数列变成一个非递减的序列. 思路 让求x的最小值,转换一下. 假设第i个数字在x秒内加的权值为val[i],x的最小值即让val[i]最大值最小. 如何最小,如果a[i-1]>a[i],就让a[i]=a[i-1],计算它们差值的二进制最高位,取最大值. 代码 //#include<bits/stdc++.h> #include<…
题目描述 http://codeforces.com/contest/1339/problem/A 给定一个 \(n(1\le n \le 10^9)\) ,问用一个由两个三角形组成的菱形,填充下面这种图形有多少种不同的填法. 解题 通过枚举发现,被填充图形中竖着的菱形区域正好是 \(n\) 个. 而且在任何一种填充方式中,只能同时存在一个竖着的菱形填充,其余的填充必须是横向的菱形. 选取不同的竖向菱形区块填充,最终也都只能得到一种不同的填充方式. 所以填充方式数目 \(ans = n\) .…
题目描述 http://codeforces.com/contest/1339/problem/B 有一个长度为 \(n(3\le n \le 10^5)\) 的整数序列 \(a_1,a_2,...,a_n(-10^9\le a_i\le 10^9)\) . 将序列重排序使得 \(|a_1-a_2|\le|a_2-a_3|\le...\le|a_{n-1}-a_n|\) . 输出任意一种满足上述条件的排序方式. 解题 这里采用一种类似贪心的策略: 序列 \(a\) 中的最大值与最小值差的绝对值(…
\(拿样例来看1 7 6 5\) \(6成长到7是最合理的,因为1s就可以实现而且对于后面来说最优\) \(5成长到7是最合理的,因为2s就可以实现而且对于后面最优\) \(发现了什么?二进制是可以组合成任意连续数的,而且每个数都倾向于成长到前面的最大数\) \(只成长到前面最大的数有两个好处.\) \(\color{Orange}{对后面最优,因为是满足条件的最小数字}\) \(\color{Red}{耗费的秒数最小.因为是满足条件的最小数字,所以要增加的数字最小,需要的秒数也最小.}\) #…
Content 你有一个长度为 \(n\) 的序列 \(a\).你可以执行 \(n-1\) 次操作,每次操作中你可以选择一个位置 \(i\),并删除 \(a_i\) 和 \(a_{i+1}\),再在原位置上面插入 \(a_i+a_{i+1}\) 或者 \(a_i-a_{i+1}\).求出恰好剩下的一个数的最大值. 数据范围:\(1\leqslant n\leqslant 10^5\),\(|a_i|\leqslant 10^9\). Solution 很标准的一道良心送分 A 题. 不难想到,由…
Codeforces Round #633(Div.2) \(A.Filling\ Diamonds\) 答案就是构成的六边形数量+1 //#pragma GCC optimize("O3") //#pragma comment(linker, "/STACK:1024000000,1024000000") #include<bits/stdc++.h> using namespace std; function<void(void)> __…
1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了.缺点是要控制内容不要换行   powered by jzread.com 2. margin加倍的问题    设置为float的div在ie下设置的margin会加倍.这是一个ie6都存在的bug.解决方案是在这个div里面加上display:inline;    例如:    < #div id=”imfloat”>   …
获取位置信息途径: 1.IP地址地理定位数据 2.GPS地理定位数据 3.WI-FI地理定位数据 4.手机地理定位数据 无废话直接上重点:navigator.geolocation对象就是获取地理位置信息的关键(目前由于中国大陆防火墙问题,谷歌浏览器无法提供位置服务) 浏览器获取用户位置信息(属于隐私信息),必须首先通过用户同意. 检测浏览器是否支持H5的方法 if(navigator.geolocation){}else {} 单次请求:  navigator.geolocation.getC…
1.去版权(前台) 文件路径:templates/模板名称/foot.php <div class="powered_by_metinfo">Powered by <a href="http://www.MetInfo.cn" target="_blank" title="{$lang_Info1}">MetInfo {$metcms_v}</a> ©2008-{$m_now_year} &…