摘要:
题意编号为 1..N 的人, 每人有一个数;需要满足dj - di 本题中要求1号顶点和N号顶点的最大差值,感觉是"求最长路",为啥用一个求最短路的方法呢?其实是在于两个问题的关系.对于差分约束的方程组, 不等式可以全部都不取等号. 而最短路中不等式的用途则是不断调整各个变量的值, 使其对于每一个不等式(限制), 都取满足它的"上界", 即松弛操作. 对应实际操作就是选择一条路.对于每一条和这个点相连的路, 都会被询问一遍, 如果有更短的路, 就选择新的路. 即是如果发现新的限制条件, 就要[至少]满足(取等号,"上界").当所有的路 阅读全文
摘要:
数论的一道题目k很大,感觉暴搜会超时,但是最后还是没有想出来 看别人的解释后 发现好神啊先来看看求两个数的最大公约数的求法 对于 x y (假设x>y)若 x%y==0 则说明最大公约数为y若!=0 则 要继续 递归求解 gcd(y,x%y)从求最大公约数过程可以看出 gcd(x,y)=1,则 gcd(x*n+y,x)=1(第一步为(x*n+y)%x=y 第二步 为 gcd(x,y),所以两个的最大公约数也应为1)故 只需求出 m内的最大公约数为1 的数,超过部分可通过这些数得出 。。。#include #define N 1000005int pto[N];int gcd(int x. 阅读全文