POJ 3244 Difference between Triplets 题解:数学+(线段树或树状数组)或(排序+前缀和)

2018-09-12

坠痛苦的是,POJ 的辣鸡 G++ 编译器不支持 long long,害得我调试调了半天……

Description

For every pair of triplets, T_a = (I_a, J_a, K_a) and T_b = (I_b, J_b, K_b), we define the difference value between T_a and T_b as follows:

D(T_a, T_b) = \max (I_a − I_b, J_a − J_b, K_a − K_b) − \min (I_a − I_b, J_a − J_b, K_a − K_b)

Now you are given N triplets, could you write a program to calculate the sum of the difference values between every unordered pair of triplets?

Read more...


   

递推专项训练五题题解

2018-08-28

今天的 XY 题居然是递推专题,五道题目全都是递推,30+个人 AK 了……

递推是按照一定的规律来计算序列中的每个项,通常是通过计算前面的一些项来得出序列中的指定项的值。其思想是把一个复杂的庞大的计算过程转化为简单过程的多次重复,该算法利用了计算机速度快和不知疲倦的机器特点。

Read more...


   

利用容斥原理求解 [a,b] 区间中与 n 互质的数字个数(HDU 4135 & ZOJ 3547)

2018-08-08

先看这道丧心病狂的题目:HDU 4135 Co-prime。题目大意就是,有 T 组询问,每组询问给你三个数:a, b, c,问你闭区间 [a,b] 中有多少个数字与 n 互质。数据范围是:1 \leqslant A \leqslant B \leqslant 10^{15}1 \leqslant N \leqslant 10^5

乍一看毫无头绪,仿佛怎么做都会超时……其实用容斥的想法就很容易了~

Read more...