Code: #include<cstdio> #include<algorithm> using namespace std; const int maxn = 1000000 + 3; long long arr[maxn], ans[maxn], sumv[maxn]; int main() { int T = 1; while(T--){ int w, l; scanf("%d%d",&w,&l); for(int i = 1;i <…
Codeforces 965 D. Single-use Stones 题目大意: 有一条河宽度为w,河上有一些石头,给出一组数(编号1~w-1),其中a[i]代表与河一岸距离为i的石头数量.每只青蛙的跳跃距离为l(l<w),故要踩着石头到河的彼岸,且被踩过的石头将消失,问这条河最多可以让多少只青蛙过. 思路: 乍看之下感觉很复杂,思考是不是需要用DP来做.赛后看题解,其实这是一道思维题,问题的转化比较巧妙. 可以这样思考:任选一个i,计算其之前的源点[i-l+1 ~ i]的石头数总和,即为可以…
http://acm.hdu.edu.cn/showproblem.php?pid=5014 从小数開始模拟找方法规律,然后推广,尤其敢猜敢尝试,错了一种思路继续猜-----这是一种非常重要的方法啊 这道题还是从小数開始模拟,我是依据16以内的找的规律 依据 2^k---2^k-1 2^k+1---2^k-2 ... 这样陪下去 当2^k==n的时候, 从2^(k-1)按相同的方法配下去, WA了非常久,是lower_bound用错了 只是没明确为啥  换成upper_bound也能够AC...…
Description 多边形相邻边垂直,边长为整数,边平行坐标轴.要在多边形的点上放一些激光发射器和接收器.满足下列要求: 1发射器和接收器不能放置在同一点: 2发射器发出激光可以沿壁反射,最终到达一个接收器: 3发射器只能沿角平分线发射激光.求:最多可放置多少对发射器和接收器?点数4<=n<=100000 题解: 每个发射器都安置在多边形的点上. 不难想到每个发射的光线一定会最终射向另一个点而截止. 发射出的每条光线也只能射到一个点上,答案即为点数/2 Code: #include<…
十分巧妙的一道题. 考虑当前凑出$[1,i/2)$,那么再有一个 $i/2$,就可以凑出 [i/2+1,i). 注意,这里的 $i$ 都是 2 的 $k$ 次幂. 于是,我们只要找到 $i$ 使得 2 的 $i$ 次幂刚好大于 $m$ 即可. Code: #include<bits/stdc++.h> using namespace std; int main(){ long long n,k=2; cin>>n; int i; for(i=1;k<=n;++i) k*=2;…
我们可以将横坐标和纵坐标看成是点.发现这些点之间是有传递性的. 题中说明,如果有矩阵中三个顶点被选,则底角的点也会被覆盖,发现这些点之间是有传递性的.那么我们最终达到的目的就是使整个图中只有 111 个集合.而将两个集合合并的代价是新覆盖一个点.于是我们只需统计初始局面中图中有多少个集合,并输出集合数量 - 1 即可. Code: #include<cstdio> #include<iostream> using namespace std; const int maxn = 20…
目录 题目 口胡题解 题目 有许多的青蛙要过河,可惜的是,青蛙根本跳不过河,他们最远只能跳 \(L\) 单位长度,而河宽 \(W\) 单位长度. 在河面上有一些石头,距离 \(i\) 远的地方有 \(a_i\) 个石头,每个石头只能使用一次,求最大能有多少青蛙过河. 输入的第一行为两个整数 \(W,L(1<l<w<10^5)\) 第二行有 \(W-1\) 个整数 \(a_1,a_2.......a_{w-1}(0<a_i<10^4)\) 输出为一个整数,即能过河的最大青蛙数…
There are N piles of stones arranged in a row.  The i-th pile has stones[i] stones. A move consists of merging exactly K consecutive piles into one pile, and the cost of this move is equal to the total number of stones in these K piles. Find the mini…
转载自:所需即所获:像 IDE 一样使用 vim 如侵犯您的版权,请联系:2378264731@qq.com ----------------------------------------------------------------------- [正文] 开始前,我假设你:0)具备基本的 vim 操作能力,清楚如何打开/编辑/保存文档.命令与插入模式间切换:1)希望将 vim 打造成 C/C++ 语言的 IDE,而非其他语言. 关于 vim 的优点,你在网上能查到 128+ 项,对我而言…
转自:http://blog.csdn.net/huqinwei987/article/details/23597091 有些基础知识快淡忘了,所以有必要复习一遍,在不借助课本死知识的前提下做些推理判断,温故知新. 1.联合体union的基本特性——和struct的同与不同 union,中文名“联合体.共用体”,在某种程度上类似结构体struct的一种数据结构,共用体(union)和结构体(struct)同样可以包含很多种数据类型和变量. 不过区别也挺明显: 结构体(struct)中所有变量是“…