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

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;

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

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

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

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

通過兩個去見求出tmin,tmax,之后
ans = tmax - tmin + 1就是結果,如果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,應該用%I64d,我錯了20幾次才發現.
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)  編輯 收藏 引用 所屬分類: 解題報告

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲视频一区二区在线观看 | 午夜精品久久久久99热蜜桃导演| 麻豆精品在线视频| 午夜精品久久一牛影视| 亚洲欧美在线观看| 久久久九九九九| 欧美gay视频激情| 亚洲国产一区二区视频| 欧美高清视频一区二区三区在线观看 | 午夜精品www| 欧美中文字幕视频| 久久久综合精品| 噜噜噜噜噜久久久久久91| 免费在线观看精品| 欧美体内she精视频在线观看| 欧美午夜三级| 国产在线一区二区三区四区 | 狼人天天伊人久久| 美女图片一区二区| 亚洲精品国产拍免费91在线| 一区二区三区四区五区精品| 先锋影音一区二区三区| 模特精品裸拍一区| 国产精品一区二区你懂得| 黄色影院成人| 一区二区三区|亚洲午夜| 久久高清免费观看| 亚洲国产欧美一区| 销魂美女一区二区三区视频在线| 开心色5月久久精品| 欧美亚男人的天堂| 亚洲国产欧美久久| 久久国产精品久久久| 蜜臀久久99精品久久久画质超高清| 亚洲激精日韩激精欧美精品| 香蕉久久一区二区不卡无毒影院| 久久综合网hezyo| 国产精品福利影院| 亚洲黄色一区| 久久亚裔精品欧美| 亚洲欧美电影院| 欧美精品在线免费播放| 韩国精品在线观看| 亚洲欧美国产精品va在线观看| 欧美激情一区二区久久久| 性欧美1819性猛交| 国产精品毛片a∨一区二区三区|国| 亚洲国产精品一区二区尤物区| 久久成人免费视频| 亚洲午夜激情网站| 欧美丝袜第一区| 一个色综合导航| 亚洲级视频在线观看免费1级| 久久久99爱| 黄色在线一区| 久久午夜精品| 久久riav二区三区| 国产麻豆91精品| 欧美一级一区| 午夜激情综合网| 国产日韩精品一区| 欧美一区亚洲一区| 亚洲女同同性videoxma| 国产精品国产三级国产| 一本色道久久综合狠狠躁篇怎么玩 | 麻豆av福利av久久av| 欧美三区在线观看| 国产精品99久久久久久有的能看 | 欧美在线影院| 午夜亚洲影视| 狠狠88综合久久久久综合网| 久久国产精品网站| 久久九九国产| 亚洲国产综合在线| 亚洲国产精品久久人人爱蜜臀| 美女亚洲精品| 亚洲免费观看在线视频| 亚洲精品一级| 国产精品夜夜夜一区二区三区尤| 亚洲欧美日韩国产一区二区| 亚洲在线成人精品| 国产在线精品成人一区二区三区| 久久久综合视频| 蜜乳av另类精品一区二区| 亚洲日韩视频| 一本到12不卡视频在线dvd| 国产精品久久久久毛片大屁完整版 | 午夜精品久久久久久| av成人老司机| 国产亚洲综合性久久久影院| 久久久www| 欧美成人一区二区| 亚洲欧美久久久久一区二区三区| 亚洲欧美一区二区精品久久久| 好看的日韩视频| 日韩一区二区福利| 国内精品伊人久久久久av一坑| 欧美激情在线| 国产欧美日本一区二区三区| 欧美69wwwcom| 国产精品二区在线观看| 久久综合免费视频影院| 欧美精品一区二区蜜臀亚洲| 午夜综合激情| 欧美激情片在线观看| 久久精品91| 欧美日韩影院| 欧美大片国产精品| 国产精品青草久久| 亚洲欧洲日本mm| 一区二区三区在线高清| 亚洲午夜免费视频| 亚洲欧洲日韩在线| 欧美亚洲免费在线| 亚洲图片欧美午夜| 欧美成人精品在线观看| 久久精品欧美| 国产精品wwwwww| 亚洲国产一区二区视频| 亚洲黄色在线看| 在线播放日韩欧美| 亚洲欧美国产另类| 一区二区欧美日韩| 毛片av中文字幕一区二区| 欧美亚洲自偷自偷| 欧美色大人视频| 欧美激情四色 | 亚洲特级毛片| 日韩视频免费大全中文字幕| 久久福利电影| 欧美一区激情视频在线观看| 欧美片网站免费| 91久久久精品| 9色精品在线| 欧美激情视频免费观看| 欧美搞黄网站| 亚洲高清自拍| 能在线观看的日韩av| 欧美bbbxxxxx| 91久久精品日日躁夜夜躁欧美| 久久久之久亚州精品露出| 久久综合影音| 亚洲国产高清视频| 免费一区二区三区| 亚洲国产一二三| 一个色综合导航| 国产精品高清在线观看| 亚洲一区二区三区精品在线观看| 亚洲在线观看视频网站| 国产精品a久久久久久| 中日韩午夜理伦电影免费| 亚洲欧美乱综合| 国产欧美一区二区在线观看| 香蕉尹人综合在线观看| 久久三级视频| 亚洲激情电影中文字幕| 欧美精品国产| 亚洲桃色在线一区| 久久久久久国产精品一区| 在线电影国产精品| 欧美国产激情| 亚洲一区二区三区精品在线| 久久成人资源| 亚洲人成网站精品片在线观看| 欧美精品自拍| 亚洲男人的天堂在线| 美女免费视频一区| av成人手机在线| 国产乱码精品一区二区三区忘忧草| 欧美在线|欧美| 亚洲国内欧美| 久久国产福利| 亚洲精品裸体| 国产精品一区二区三区四区| 欧美主播一区二区三区| 亚洲国产小视频在线观看| 性感少妇一区| 亚洲破处大片| 国产欧美日韩精品a在线观看| 久久嫩草精品久久久精品一| 亚洲激情一区| 久久久99精品免费观看不卡| 亚洲精品一区在线观看| 国产精品自拍网站| 欧美精品一区二| 久久久精品欧美丰满| 99精品视频网| 欧美大色视频| 久久国产福利| 欧美一进一出视频| 欧美一区视频在线| 亚洲欧美精品一区| 中文在线资源观看网站视频免费不卡 | 亚洲第一精品电影| 亚洲黄色免费电影| 国产精品日本欧美一区二区三区| 欧美一区二区私人影院日本| 亚洲国产经典视频| 久久一区二区三区国产精品| 亚洲一区中文|