2142专题

poj 2142 拓展欧几里得算法

扩展欧几里得算法求的是方程的解。原理如下   设,当时,,此时,否则设           由于,所以进一步得到            所以得到                        代码: void extgcd(int a,int b, int &x, int &y){if(b == 0 && a == 0) return ;if

POJ 2142 The Balance 扩展欧几里得,求|x|+|y|最小

题解:先做出两个函数的图像,然后求|x|+|y|的最小值。|x|+|y|=|x0+b/d *t |+|y0-a/d *t| 这个关于t的函数的最小值应该在t零点附近(在斜率大的那条折线的零点附近,可以观察出来)。以下三种情况中,函数最小值都应该出现在B点附近。 #include<cstdio>#include<algorithm>using std::swap;int

51nod【2142 第m大的身份证号码】

Java版 对出生年月日进行排序 import java.util.ArrayList;import java.util.Comparator;import java.util.Scanner;import static java.util.Collections.sort;public class Main {public static void main(String[] args)

BZOJ 2142 礼物 拓展Lucas 解题报告

Description 一年一度的圣诞节快要来到了。每年的圣诞节小E都会收到许多礼物,当然他也会送出许多礼物。不同的人物在小E 心目中的重要性不同,在小E心中分量越重的人,收到的礼物会越多。小E从商店中购买了n件礼物,打算送给m个人 ,其中送给第i个人礼物数量为wi。请你帮忙计算出送礼物的方案数(两个方案被认为是不同的,当且仅当存在某 个人在这两种方案中收到的礼物不同)。由于方案数可能会很