Codeforces Round #524 (Div. 2) A 模擬 B數學 C 模擬 ,細節
Code:
#include <bits/stdc++.h>
#define LL long long
using namespace std;
int main(){
int n , k ; // 2 5 8
cin >> n >> k ;
LL k1 = 2 * n ;
LL k2 = 5 * n ;
LL k3 = 8 * n ;
k1 = k1 / k + ( k1 % k != 0 ) ;
k2 = k2 / k + ( k2 % k != 0 ) ;
k3 = k3 / k + ( k3 % k != 0 ) ;
cout << k1 + k2 + k3 << endl;
return 0 ;
}
B
思路:觀察得sn 的規律是 -1 , 1 , -2 ,2 …這樣。直接求就行了
Code:
#include <bits/stdc++.h>
#define LL long long
using namespace std;
int main(){
int q;
cin >> q ;
int l , r ;
while( q-- ){
cin >> l >> r ;
l -- ;
LL ll = l / 2 + ( l % 2 != 0 ) ;
if( l % 2 ) ll = 0 - ll ;
if( !l ) ll = 0 ;
LL rr = r / 2 + ( r % 2 != 0 ) ;
if( r % 2 ) rr = 0 - rr ;
//cout << ll << ' ' << rr << endl;
cout << rr - ll << endl ;
}
return 0 ;
}
C
題意:給你一個m*n的矩陣黑白相間,然後給兩個小矩陣的左下和右上的座標,第一個矩陣範圍內的顏色都變成白,第二個都變成黑(按順序)。問最後多少黑多少白。
思路:
先計算最初的黑白個數。
然後計算第一個,第二個矩陣改變的情況,不考慮相交區域,這個容易計算。
最後將相交區域求出左下與右上座標,計算黑->黑的改變情況即可。因為剛才沒有考慮相交區域,只是簡單的將這塊區域由最初形態轉化為黑色,因此只是將白色轉為黑,第一個矩形將這塊區域的黑轉為白的那塊並沒有計算,所以是將最初的黑->黑。
Code:
#include <bits/stdc++.h>
#define INF 0x3f3f3f3f
#define LL long long
using namespace std;
int main(){
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int T ;
cin >> T ;
while( T-- ){
LL W , B ;
LL n , m ;
cin >> n >> m ; //y x
LL x1 , y1 , x2 , y2 ;
LL x3 , y3 , x4 , y4 ;
W = n * m / 2 ;
B = W ;
if( ( ( n * m ) % 2 ) ) W ++ ;
cin >> x1 >> y1 >> x2 >> y2 ;
cin >> x3 >> y3 >> x4 >> y4 ;
n = y2 - y1 + 1 ;
m = x2 - x1 + 1 ;
W += n * m / 2 ;
B -= n * m / 2 ;
if( ( ( n * m ) % 2 ) && ( ( x1 + y1 ) % 2 ) ) { B -- ; W ++ ;}
n = y4 - y3 + 1 ;
m = x4 - x3 + 1 ;
W -= n * m / 2 ;
B += n * m / 2 ;
if( ( ( n * m ) % 2 ) && ( ( x3 + y3 ) % 2 ) == 0 ) { W -- ; B ++ ;}
LL x5 = max( x1 , x3 ) ;
LL x6 = min( x2 , x4 ) ;
LL y5 = max( y1 , y3 ) ;
LL y6 = min( y2 , y4 ) ;
if( x6 >= x5 && y6 >= y5 ){
n = y6 - y5 + 1;
m = x6 - x5 + 1;
W -= n * m / 2 ;
B += n * m / 2 ;
if( ( ( n * m ) % 2 ) && ( ( x5 + y5 ) % 2 ) ) { B ++ ; W -- ; }
}
cout << W << ' ' << B << endl;
}
return 0 ;
}
相關推薦
Codeforces Round #511 (Div. 2) A 構造B 數學C素數篩
A 題意:構造a+b+c == n 且 a , b , c 都不為3的倍數。 思路:用1,2去構造即可。 Code: #include <bits/stdc++.h> using names
Codeforces Round #444 (Div. 2) A、B、C
題目連結 A: #include <iostream> #include <cstring> #include <cstdio> #include <cmath> #include <vector&g
Codeforces Round #524 (Div. 2) A 模擬 B數學 C 模擬 ,細節
A Code: #include <bits/stdc++.h> #define LL long long using namespace std; int main(){ int n ,
Codeforces Round #524 (Div. 2) A. Petya and Origami
A. Petya and Origami time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output
Codeforces Round #515 (Div. 3) A、B、C、D
A. Vova and Train time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Vo
Codeforces Round #515 (Div. 3) A、B、C、D
A. Vova and Train time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Vova
Codeforces Round #510 (Div. 2) A 模擬 B列舉 C D離散化+樹狀陣列(逆序對)
A Code: #include <bits/stdc++.h> #define LL long long #define INF 0x3f3f3f3f using namespace s
Codeforces Round #416 (Div. 2) A+B
src separate not sum redo swe tput output depend A. Vladik and Courtesy 2 seconds 256 megabytes At regular competition Vl
Codeforces Round #417 (Div. 2) A. Sagheer and Crossroads 模擬 枚舉
ces color 一次 name exit main cst space amp Codeforces Round #417 (Div. 2) A. Sagheer and Crossroads 模擬 枚舉 題意 一個紅綠燈 按逆時針方向一次給出各個路口的左轉,
Codeforces Round #426 (Div. 2)A B C題+賽後小結
ase com || namespace inf exp test 鏈接 %d 最近比賽有點多,可是好像每場比賽都是被虐,單純磨礪心態的作用。最近講的內容也有點多,即便是點到為止很淺顯的版塊,刷了專題之後的狀態還是~"咦,能做,可是並沒有把握能A啊"。每場網絡賽,我似乎
Educational Codeforces Round 37 (Rated for Div. 2)A,B,C,F
fine 暴力模擬 需要 lose sort codeforce 結構 分享圖片 線段樹 A Water The Garden 數據不大,暴力模擬下直至把每個花床都遍歷過的過程即可 1 #include <bits/stdc++.h> 2 us
Codeforces Round #475 Div. 2 A B C D
rac sca 節點 spa AR 並且 split -s using A - Splits 題意 將一個正整數拆分成若幹個正整數的和,從大到小排下來,與第一個數字相同的數字的個數為這個拆分的權重。 問\(n\)的所有拆分的不同權重可能個數。 思路 全拆成1,然後每次將2個
Educational Codeforces Round 53 (Rated for Div. 2) A,B,C,D,E題解
A. Diverse Substring 題意:找一個子串滿足任何一個字元的出現次數小於 n/2 n是子串的長度, 顯然兩個不相同的字元組成的子串就是滿足情況的; #include<bits/stdc++.h> using namespace std; #d
Codeforces Round #524 (Div. 2) B. Margarite and the best present 規律題
B. Margarite and the best present time limit per test 1 second memory limit per test 256 megabytes input standard input output stand
【Codeforces】 Round #524 (Div. 2) A-F
傳送門:CF524Div2 A. Petya and Origami 上取整 #include<bits/stdc++.h> using namespace std; typedef long long ll; int n,m,k;ll a,b,c; i
Codeforces Round #520 (Div. 2) A B C D
A. A Prank 題目連結:http://codeforces.com/contest/1062/problem/A 題目大意:n個數,輸入n個數,然後對於這些數,看最多能夠擦除多少個數,還能還原出原陣列。 這些數範圍:1~1000。 方法:下標相減==裡面的元素值相減則是能夠刪
Codeforces Round #520 (Div. 2)A,B
A.Prank 大意就是: 給你一個序列,讓你從這個序列中扣一段連續的數,如果你看到餘下的數仍能還原原來的序列就是對的,求最大可以扣多少個數. 思路: 首先我們扣掉的數是個連續的序列,那麼如果是1.3.5不連續任意扣掉一個不能還原,如果是連續的話比如 2.3.4就可以保留開頭結尾扣掉中間
Codeforces Round #514 (Div. 2) A. Cashier (模擬)
題意:一個收銀員每天上L個小時的班,為了緩解壓力當他閒的時候,他每過a分鐘需要想要抽一次煙,但是在顧客來的時候不能抽菸,他知道顧客啥時候來,並且來幾分鐘,問他能抽多少次煙。 題解:一開始沒什麼思路
Educational Codeforces Round 53 (Rated for Div. 2) A,B,C,D,E題解
A. Diverse Substring 題意:找一個子串滿足任何一個字元的出現次數小於 n/2 n是子串的長度, 顯然兩個不相同的字元組成的子串就是滿足情況的; #include<bits
Codeforces Round #259 (Div. 2) A B C 三連發
Twilight Sparkle was playing Ludo with her friends Rainbow Dash, Apple Jack and Flutter Shy. But she kept losing. Having returned to the castle, Twilight