随笔分类 - OJ——bestcoder
摘要:题意: 分析:删去一个数,能得到一个新结果,枚举删去的点,左右两边预处理好。 #include <bits/stdc++.h> using namespace std; const int maxn = 100000+5; typedef long long LL; int a[maxn]; int
阅读全文
摘要:HDU:5670~5764 A题: 是一个3进制计数; 1 #include <bits/stdc++.h> 2 3 using namespace std; 4 5 int a[100000]; 6 7 int calc(long long n) { 8 int i=0; 9 while(n) {
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5945 分析: 很容易想到用bfs,然而会超时,几乎是O(xt)了 这里用单调队列优化, 首先反着来,f[x] 为 x 要到1 的步数,f[1] = 0; 1、第一个条件就是 队列里面的元素个数小于t,
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5944 分析: 竟然 i,j,k成等比数列,即i*k = j*j,还要满足 j|i or j|k。 不防设: j = i*j; k = i*j*j,就满足那两个条件了,然后遍历这两个条件。
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6012 题意: 分析: 刚开始这么多温度,很自然的想到二分,但是,这个温度又可以是实数,不是很好处理。 其实可以发现,对于一个区间,只要处理好区间左边0.5,右边0.5,区间端点就可以概括所有情况了。 于
阅读全文
摘要:题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6011 题意: 分析: 做这个题目的时候,第一感觉回溯算了,不用想,肯定T了。 后来想DP,直觉告诉我,正权值的放后面。每次计算后面的数值,又不知道前面有多少位,怎么解决这个问题呢? 就类似于前缀和,写一
阅读全文