摘要:
单点修改: 不需要差分 区间修改,单点查询: //参考 假设现在有一个原数组a(假设a[0] = 0),有一个数组d,d[i] = a[i] - a[i-1],那么 a[i] = d[1] + d[2] + .... + d[i] d数组就是差分数组 所以求a[i]就可以用树状数组维护d[i]的前缀 阅读全文
摘要:
题目 题意: 给你n个数,有两种操作,操作1是把第i个位置的数删去, 操作2 是把 a[ j ]= a[ i ]* a[ j ],把a[ i ]删去 。n-1个操作以后,只剩1个数,要使这个数最大 。要你输出这n-1个步骤。 思路: 结构体储存数和位置, 按值排序,然后分类讨论。 1. 负数个数是奇 阅读全文
摘要:
题目 题意: 给你n个数a[1]...a[n],可以得到这n个数的最大公约数, 现在要求你在n个数中 尽量少删除数,使得被删之后的数组a的最大公约数比原来的大。 如果要删的数小于n,就输出要删的数的个数, 否则输出 -1 。 思路: 设原来的最大公约数为 g, 然后a[1]...a[n]都除以g , 阅读全文
摘要:
质因数: 质数: 因数: 阅读全文
摘要:
题目 题意: 给出 n,m,k ,让你在长为 n,宽为 m 的坐标系里构建一个三角形,使得面积= n*m/k。如果存在,输出“YES”,输出三角形三个顶点的坐标; 如果不存在,输出“NO”。 思路: 参考其他人博客。 设长为a ,宽为b,所以要 a*b/2 = (n*m)/k ,要使有解,必须 2* 阅读全文
摘要:
题目 题意: 给你长度为n的数组a[i],最多操作n+1次,每次都可以将前 i 个数 (操作1)都加上x,或者(操作2)都%x ,(x为1e6以内的任意数,且每次操作可以不同), 使得数组a严格单调递增(一定后一项大于前一项)。 要你输出一个总的操作次数,再以 1 i x 或者 2 i x 的形式输 阅读全文
摘要:
题目 题意: 0≤a,b<2^30, 最多猜62次。 交互题,题目设定好a,b的值,要你去猜。要你通过输入 c d : 如果 a^c < b^d ,会反馈 -1 ; 如果 a^c = b^d ,会反馈 0 ; 如果 a^c > b^d ,会反馈 1 ; 每次猜前面都用 ? 表示, 最后一行用!表示已 阅读全文
摘要:
题目 题意: 给你n个整数,a[1]....a[n],请重新排列这些整数,使得式子的值最大。请输出S的最大值。 第一行一个整数n(2 <= n <= 100000),表示数字的个数; 第二行为n个整数 (1 <= ai <= 1000000000) 思路: 给个例子: n=5 ,设排列后(假设是答案 阅读全文
摘要:
题目 题意: 给一个n*m块大的黑白相间的矩形,在这个举行中操作,要先把第一个矩形(左下角坐标(x1,y2),右上角坐标(x2,y2)) 全部涂成白色,再把第二个矩形(左下角坐标(x3,y3),右上角坐标(x4,y4)) 全部涂成黑色。 求涂了这两个矩形之后的 白色块数量和黑色块数量。 思路: 上图 阅读全文
摘要:
题目 题意: 给出两个有相同元素的数组a,数组b, 使 a[i]和 a[j] 进行交换,得到数组 b , 每次交换的代价为abs( i - j )。 要求输出最小的总代价,交换的步数,以及每次交换的两个位置 。 思路: 如果 数组 a : 5 2 1 4 6 3 数组 b: 1 2 3 4 5 6 阅读全文