青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Why so serious? --[NKU]schindlerlee

2009年11月25日星期三.sgu106

2009年11月25日星期三.sgu106
這題終于過了......
太容易錯了
忘了sgu是ms win,用%lld錯了十幾次,干脆cin就得了,I64d在linux又編譯不了

106. The equation

There is an equation ax + by + c = 0. Given a,b,c,x1,x2,y1,y2 you must determine, how
many integer roots of this equation are satisfy to the following conditions :
x1<=x<=x2,   y1<=y<=y2. Integer root of this equation is a pair of integer numbers
(x,y).

Input
Input contains integer numbers a,b,c,x1,x2,y1,y2 delimited by spaces and line breaks.
All numbers are not greater than 108 by absolute value.

Output
Write answer to the output.

Sample Input
1 1 -3
0 4
0 4
Sample Output
4

首先在開始正式講解之前我要說,原來除法不一定是下取整的。。。。
比如 1 / 2 = 0
但是-1 / 2 = 0;

所以我們要自己寫上取整和下取整的函數(shù)
看到zzy的一個寫法,很不錯,見代碼中的upper和lower

直線可以寫成參數(shù)方程的模式
L1: p0 + t * v; t為實(shí)數(shù),v 為直線的方向向量

ax + by + c = 0;
首先可以把c移到右邊
ax + by = -c;
知道a,b可以利用擴(kuò)展歐幾里德公式求出p0和d,(d = gcd(a,b))
如果c不能整除d的話就沒有整數(shù)解,這點(diǎn)是顯然的,可以簡單思考一下.

另外通過直線的幾何意義可以知道
v = (b ,-a)或
v = (-b, a)
取其中一個即可
tx = (x - x0)/b;
ty = (y - y0)/-a;

通過兩個去見求出tmin,tmax,之后
ans = tmax - tmin + 1就是結(jié)果,如果ans < 0 就是無解

此題破例貼代碼
 1 
 2 LL ans = 0;
 3 LL kmin = -300000000000000000LL, kmax = 300000000000000000LL;
 4 
 5 LL ext_gcd(LL a, LL b, LL & x, LL & y)
 6 {
 7     if (b == 0) {
 8         x = 1;
 9         y = 0;
10         return a;
11     } else {
12         LL d = ext_gcd(b, a % b, x, y);
13         LL t = x;
14         x = y;
15         y = t - a / b * y;
16         return d;
17     }
18 }
19 
20 LL upper(LL a, LL b)
21 {
22     if (a <= 0)
23         return a / b;;
24     return (a - 1/ b + 1;
25 }
26 
27 LL lower(LL a, LL b)
28 {
29     if (a >= 0)
30         return a / b;
31     return (a + 1/ b - 1;
32 }
33 
34 void update(LL L, LL R, LL a)
35 {
36     if (a < 0) {
37         L = -L;
38         R = -R;
39         a = -a;
40         swap(L, R);
41     }
42     kmin = max(kmin, upper(L, a));
43     kmax = min(kmax, lower(R, a));
44 }
45 
46 int main()
47 {
48     LL a, b, c, x1, x2, y1, y2, x0, y0;
49     cin >> a >> b >> c >> x1 >> x2 >> y1 >> y2; // sgu 是ms win,應(yīng)該用%I64d,我錯了20幾次才發(fā)現(xiàn).
50     c = -c,ans = 0;
51     if (a == 0 && b == 0) {
52         if (c == 0)
53             ans = (LL) (x2 - x1 + 1* (y2 - y1 + 1);
54     } else if (a == 0) {
55         LL t = c / b;
56         ans = (c % b == 0 && t <= y2 && t >= y1) * (x2 - x1 + 1);
57     } else if (b == 0) {
58         LL t = c / a;
59         ans = (c % a == 0 && t <= x2 && t >= x1) * (y2 - y1 + 1);
60     } else {
61         LL d = ext_gcd(a, b, x0, y0);
62         if (c % d == 0) {
63             LL p = c / d;
64             update(x1 - p * x0, x2 - p * x0, b / d);
65             update(y1 - p * y0, y2 - p * y0, -/ d);
66             ans = kmax - kmin + 1;
67             if (ans < 0) ans = 0;
68         }
69     }
70     cout << ans << endl;
71     return 0;
72 }
73 
74 


posted on 2009-11-25 22:10 schindlerlee 閱讀(1386) 評論(0)  編輯 收藏 引用 所屬分類: 解題報(bào)告

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲国产成人porn| 久久国产精品久久精品国产| 欧美噜噜久久久xxx| 欧美精品在线观看一区二区| 久久狠狠久久综合桃花| 一区二区三区在线视频观看| 久久综合国产精品台湾中文娱乐网| 欧美激情一区| 午夜性色一区二区三区免费视频| 在线观看亚洲视频啊啊啊啊| 国产精品久久二区二区| 免费影视亚洲| 久久成人18免费观看| 先锋影音久久久| 亚洲天天影视| 亚洲精品免费在线播放| 欧美成人精品在线视频| 午夜精品久久99蜜桃的功能介绍| 亚洲精品国产拍免费91在线| 亚洲午夜精品17c| 欧美在线观看一二区| 夜夜爽夜夜爽精品视频| 亚洲第一精品福利| 久久精品中文| 欧美一区永久视频免费观看| 亚洲网站啪啪| 国产偷国产偷精品高清尤物| 欧美日韩国产影院| 欧美精品在线网站| 国产亚洲综合性久久久影院| 国产精品日本欧美一区二区三区| 欧美日本国产视频| 国产亚洲美州欧州综合国| 91久久国产综合久久蜜月精品 | 久久全国免费视频| 亚洲午夜精品在线| 久久夜色撩人精品| 国产精品一区二区三区成人| 国产精品三上| 亚洲免费av网站| 99国产精品久久久| 亚洲视频电影图片偷拍一区| 久久天堂精品| 亚洲高清久久久| 欧美在线观看网址综合| 欧美午夜免费影院| 国产日韩精品在线观看| 99综合视频| 欧美一区二区三区另类| 亚洲激情黄色| 亚洲综合另类| 久久精品视频免费| 欧美不卡在线| 影院欧美亚洲| 99综合电影在线视频| 欧美99久久| 开元免费观看欧美电视剧网站| 亚洲精品乱码久久久久久蜜桃麻豆| 久久野战av| 亚洲一区二区在线免费观看| 99在线精品观看| 欧美成人免费视频| 亚洲人成7777| 欧美激情一区在线| 欧美成人免费在线视频| 91久久精品美女高潮| 免费一区二区三区| 一本色道久久综合| 香蕉亚洲视频| 国产女优一区| 亚洲免费观看高清在线观看| 美女久久一区| 久久综合色婷婷| 亚洲国产一区二区在线| 亚洲综合99| 欧美va天堂| 免费在线国产精品| 夜夜嗨av一区二区三区| 99精品欧美一区二区三区| 欧美亚洲成人精品| 久久国产手机看片| 久久一区二区三区四区| 亚洲激情专区| 中文在线资源观看网站视频免费不卡| 久久亚洲综合色一区二区三区| 伊人久久婷婷| 亚洲精品小视频在线观看| 久久九九全国免费精品观看| 一区二区在线免费观看| 亚洲国产精品美女| 久久亚洲精品伦理| 99精品国产在热久久| 亚洲欧美自拍偷拍| 亚洲人体偷拍| 亚洲欧洲99久久| 91久久夜色精品国产九色| 亚洲视频一区| 亚洲成人中文| 亚洲无亚洲人成网站77777| 国产亚洲成精品久久| 亚洲国产电影| 国产乱码精品1区2区3区| 欧美国产日本在线| 国产欧美日韩麻豆91| 亚洲黄色大片| 国产午夜精品美女视频明星a级| 亚洲成人直播| 欧美xx视频| 欧美一区在线看| 欧美啪啪一区| 暖暖成人免费视频| 国产午夜精品视频免费不卡69堂| 欧美国产日韩免费| 国产亚洲欧美aaaa| 这里只有精品电影| 夜久久久久久| 欧美成人一区二区三区| 亚洲区在线播放| 亚洲免费在线视频一区 二区| 亚洲国产成人午夜在线一区| 国产精品久久久久一区二区三区| 亚洲一区二区在线播放| 久久久久久久综合色一本| 在线观看日韩精品| 亚洲免费在线观看| 亚洲影视综合| 欧美日韩在线另类| 久久精品久久综合| 国产精品国产亚洲精品看不卡15| 欧美高清视频在线观看| 欧美精品一区二区三区蜜臀| 玖玖玖免费嫩草在线影院一区| 久久婷婷影院| 久久久噜噜噜久久狠狠50岁| 久久综合给合久久狠狠狠97色69| 久久国内精品自在自线400部| 国产精品婷婷| 亚洲综合日韩在线| 欧美在线www| 国产欧美一区二区三区沐欲| 亚洲午夜精品| 久久国产福利| 欧美日韩国产综合视频在线| 欧美高清一区| 99爱精品视频| 欧美亚洲成人精品| 亚洲欧美一区二区激情| 久久精品成人一区二区三区蜜臀| 国产日韩欧美亚洲一区| 欧美在线视频全部完| 久久久久久久久久久一区| 国内精品视频666| 亚洲视频网站在线观看| 午夜一区二区三视频在线观看 | 一本久久综合亚洲鲁鲁| 亚洲一区二区三区中文字幕| 国产精品yjizz| 午夜精品www| 麻豆九一精品爱看视频在线观看免费| 在线日韩精品视频| 蜜桃av一区二区| 午夜精品一区二区三区在线| 国产精品免费一区二区三区在线观看 | 欧美成人精品一区二区三区| 国产一区在线视频| 久久中文在线| 一本色道久久综合狠狠躁篇的优点| 日韩视频久久| 国产精品亚洲成人| 久久中文字幕一区| 中文亚洲免费| 欧美激情一区二区| 亚洲欧美日韩系列| 在线观看一区欧美| 欧美日韩一区精品| 久久久精品动漫| 日韩亚洲一区在线播放| 久久人人97超碰精品888| 国产精品99久久久久久久女警 | 美女精品在线| 亚洲欧美一区二区三区在线| 狠狠综合久久av一区二区老牛| 一区二区欧美视频| 久久久最新网址| 亚洲一区区二区| 在线欧美影院| 国产精品视频网址| 欧美金8天国| 亚洲激情另类| 久久精品国产v日韩v亚洲 | 日韩午夜激情电影| 国内自拍视频一区二区三区| 欧美午夜一区| 欧美国产精品久久| 一区二区三区福利| 欧美成年人视频网站| 午夜精品福利一区二区三区av | 久久久久久久网站| 亚洲欧美激情精品一区二区| 亚洲欧洲一区二区在线播放|