給出 a 和 b,求:∑i=1a∑j=1barea(i,j)除以 (109 + 7) 的餘數。
輸入檔案包含多組資料,請處理到檔案結束。每組資料的第一行包含兩個整數 a 和 b,第二行包含四個整數 x1, x2, y1, y2.
· 1 ≤ a, b, x1, x2, y1, y2 ≤ 109· x1
< x2 , y1 · 資料組數不超過 104
對於每組資料,輸出乙個整數,表示所求的值。
輸入:1 12 3 2 3
10 10
1 5 1 5
1000000000 1000000000
1 1000000000 1 1000000000輸出:
23725
2793
1,先不論題目,本題有乙個要求結果 「(109 + 7) 的餘數」。
因為如果mod簡單的數理論上會增大演算法錯誤但是由於巧合恰好模出相等的數,而ac的概率
而1e9+7這個數是素數,相加不爆int,相乘不爆ll。
所以由於在運算過程中說有數都可能爆ll所以在相加相乘的時候要隨時餘mod!
2,在算數運算子的左側如果運算數num都是int型別而運算子右側都是long long型時,運算子右側運算數 num 需要* 1ll
*1ll是為了在計算時,把int型別的變數轉化為long long
,然後再賦值給long long
型別的變數
例如,long long ans = 0;
ans
是long long
型別的,
ans += num * 1ll * (num - 1) / 2;
不至於後面計算溢位,* 1ll
之後型別就轉換為long long
, num變數是定義為int
型別的。
3.在寫題時,看到階乘符號,首先想到的是使用while把結果累加。
而實際上可以直接使用數列求和公式直接把結果算出來,從而降低時間複雜度。
#includetypedeflong
long
ll;const ll mod = 1e9 + 7
;ll all(ll xx, ll yy)
intmain()
if (y2 }
}printf(
"%lld\n
", ans);
}return0;
}
2019湖南「強智杯」省賽A題
bobo 寫了乙個 n 行 m 列的矩陣 ai,j.首先,他把所有元素 ai,j 1 i n,1 j m 設為 0.然後,他選了 4 個整數 x1,x2,y1,y2 滿足 1 x1 x2 n,1 y1 y2 m,並把滿足 x1 i x2,y1 j y2 的元素 ai,j 設為 1.給出 n 行 m ...
2020強網杯Siri題wp
漏洞點在sub 1212函式,printf s 造成格式化漏洞 思路是先通過格式化漏洞列印出程式基址和libc基址,然後修改free hook為onegadget,再列印大量資料即可 最終的exp如下 coding utf8 from pwn import context.log level deb...
藍橋杯 矩形區域的交和並 計算幾何
在編寫圖形介面軟體的時候,經常會遇到處理兩個矩形的關係。如圖 1.jpg 所示,矩形的交集指的是 兩個矩形重疊區的矩形,當然也可能不存在 參看 2.jpg 兩個矩形的並集指的是 能包含這兩個矩形的最小矩形,它一定是存在的。本題目的要求就是 由使用者輸入兩個矩形的座標,程式輸出它們的交集和並集矩形。矩...