UVA 12532-Interval Product(BIT)】的更多相关文章

线段树水题,忽略每个数的大小,只记住他们的正负即可,规规矩矩的代码.不过这是我第一次完全自己写的一次A的代码了.纪念一下... #include <iostream> #include <cstdio> using namespace std; #define N 100010 *N]; int x; ]; void build(int l,int r,int rt) { if(l == r) { cin>>x; ) tree[rt] = ; ) tree[rt] =…
CJOJ 1071 [Uva]硬币问题(动态规划) Description 有n种硬币,面值分别为v1, v2, ..., vn,每种都有无限多.给定非负整数S,可以选用多少个硬币,使得面值之和恰好为S?输出硬币数目的最小值和最大值. Input 第一行两个整数,n,S(1≤n≤100, 0≤S≤100000). 第二行n个整数vi-1...n(1≤vi≤S). Output 第一行两个整数,分别表示硬币数目的最小值 a 和最大值 b .无解则输出 -1 . 第二行 a 个整数分别表示使用的是第…
题意:根据这种进制的算法,例如,给你一个左式,要求推出右式.(其实右式就是一个十进制数,根据这种进位的方法来转成特殊进制的数.) 思路:观察转换特点,有点类似于二进制,但是其在后面还减一了.比如25-1.24-1 ...21-1.如果我们不减1会怎样?如上式,从左边看起,就会多加了(25-1)*1+1*(23-1)+2*(22-1).这就是说,我们可以先将 10120 从右往左逐个乘以21  22  23  24  25 再减去10120即可得出结果. 当然也可以按照上边式子老实计算. #inc…
https://vjudge.net/problem/UVA-1602 题意:计算n连通块不同形态的个数. 思路: 实在是不知道该怎么做好,感觉判重实在是太麻烦了. 判重就是判断所有格子位置是否都相同,这样我们可以定义一个结构体来保存每个格子的坐标点,用set容器poly来保存这些格子,然后再用一个set容器poly_set来保存指定数量i个连通块的各个图形的坐标点,也就是说该容器是用来保存poly的.(不太好解释,具体可以看代码.)因为图形必须是连通的,所以在添加第i个格子的时候必定是在i-1…
这道题大体意思是利用一种递归规则生成不同的气球,问在某两行之间有多少个红气球. 我拿到这个题,一开始想的是递归求解,但在如何递归求解的思路上我的方法是错误的.在研读了例题上给出的提示后豁然开朗(顺便吐槽一下算法竞赛第二版在这这道题目上(P246)提示写的有问题,g(k,i)=2g(k-1,i-2^(k-1))+c(k-1)  ,他把c(k-1)写成了c(k)...我纠结这个纠结了好久) 根据题目提示,这道题可以用f(k,i)表示k小时后最上边i行的红气球总数 那么我们的答案就可以表示为f(k,b…
题目传送门 J - Fire! Joe works in a maze. Unfortunately, portions of the maze have caught on fire, and the owner of the maze neglected to create a fire escape plan. Help Joe escape the maze. Given Joe’s location in the maze and which squares of the maze are…
题意:已知圆的内接多边形的各个边长,求多边形的面积. 分析: 1.因为是圆的内接多边形,将多边形的每个顶点与圆心相连,多边形的面积就等于被分隔成的各三角形之和. 2.根据海伦公式,任意一个三角形的面积为:double p = (2 * r + a[i]) / 2,S = sqrt(p * (p - r) * (p - r) * (p - a[i])),a[i]为多边形某条边的长度,由此可以表示出多边形的面积. 3.对于任意一个三角形,设其为半径的两条边的夹角为α,则sin(α/2) = (a[i…
题意: 给n个数字的序列,C v p 把v位上的数字置成p , S l r代表求区间[l,r]各数字相乘得数的符号,对于每个S输出所得符号(’+‘,’-‘,’0‘) 分析: 开两个数组表示区间负数的个数.0的个数.当数字被改时,更新数组.查询时区间含0符号是0,再根据负数的个数的奇偶判断. #include <map> #include <set> #include <list> #include <cmath> #include <queue>…
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAB1QAAAMcCAIAAABo0QCJAAAgAElEQVR4nOydW7msuhKF2wIasIAHJK…
https://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=157 题意:输入建筑物的x,y坐标,宽度,深度和高度,输出从南向北看时能看到的建筑物. 这道题需要用到离散化,将所有建筑物物的左右边界坐标存储起来,然后排序去重,那么任意两个相邻x坐标形成的区间要么是可见的,要么就是不可见的.这样只需在这个区间内任选一点(如中点),当该建筑物可见时,首先它的…