国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

Codeforces Round #744 (Div. 3) A-F 題解

jindong / 1079人閱讀

摘要:第一次接近前百紀念這次的題意就不再贅述了大概說一下方法思路每次都有的數量等于和的和即可時間復雜度思路倒著做每次找到最大的一個數


第一次接近前百紀念

這次的題意就不再贅述了
大概說一下方法

A. Casimir’s String Solitaire

思路
每次都有B
B的數量等于A和C的和即可
時間復雜度 O n On On

#include #define fer(i,a,b) for(re i = a ; i <= b ; ++ i)#define der(i,a,b) for(re i = a ; i >= b ; -- i)#define all(x) (x).begin(),(x).end()#define de(x) cout << x << "/n" #define sf(x) scanf("%lld",&x)#define pll pair<int,int> #define re register int#define int long long #define pb push_back#define y second #define x first using namespace std;const int inf = 0x3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f ;const int N = 1e6 + 10 , M = 2010 , mod = 1e9 + 7 ;signed main(){    int t ;    cin >> t ;        while(t--)    {        string a ;                int kb = 0 , k = 0 ;                cin >> a ;                for(auto i : a)         {            if(i == "B") kb ++ ;            else k ++ ;        }                if(kb == k) puts("YES") ;        else puts("NO") ;    }    return 0;}

B. Shifting Sort

思路
倒著做
每次找到最大的一個數,放到最后即可
注意序列是動態的 不過n很小
直接暴力
時間復雜度 O n 2 On^2 On2

#include #define fer(i,a,b) for(re i = a ; i <= b ; ++ i)#define der(i,a,b) for(re i = a ; i >= b ; -- i)#define all(x) (x).begin(),(x).end()#define de(x) cout << x << "/n" #define sf(x) scanf("%lld",&x)#define pll pair<int,int> #define re register int#define int long long #define pb push_back#define y second #define x first using namespace std;const int inf = 0x3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f ;const int N = 60 , M = 2010 , mod = 1e9 + 7 ; int n ;int a[N] ;int b[N] ;int c[N] ; struct ai{    int l , r , d ;}q[N] ; signed main(){    int t ;    cin >> t ;    while(t--)    {        cin >> n ;                fer(i,1,n) sf(a[i]) ;                fer(i,1,n) b[i] = a[i] ;                sort(b + 1 , b + 1 + n) ;                int hh = 0 ;                der(i,n,1)        {            int k = 0;            for(int j = i ; j >= 1 ; j --)            {                if(a[j] == b[i])                {                    k = j ;                    break ;                }            }            if(k != 0 && k != i)            {                q[++ hh] = {k,i,1} ;                                fer(i,1,k-1) c[i] = a[i] ;                fer(i,k,n-1) c[i] = a[i+1] ;                c[n] = a[k] ;                memcpy(a,c,sizeof c) ;            }        }                cout << hh << "/n" ;        fer(i,1,hh) cout << q[i].l << " " << q[i].r << " " << q[i].d << "/n" ;            }    return 0;}

C. Ticks

思路
模擬一下就行
時間復雜度 O n m k Onmk Onmk

#include #define fer(i,a,b) for(re i = a ; i <= b ; ++ i)#define der(i,a,b) for(re i = a ; i >= b ; -- i)#define all(x) (x).begin(),(x).end()#define de(x) cout << x << "/n" #define sf(x) scanf("%lld",&x)#define pll pair<int,int> #define re register int#define int long long #define pb push_back#define y second #define x first using namespace std;const int inf = 0x3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f ;const int N = 1e6 + 10 , M = 50 , mod = 1e9 + 7 ; int n, m, k;char s[M][M];bool st[M][M]; bool check(int x, int y){	if(x < 0 || x >= n || y < 0 || y >= m) return 0 ;	else return 1 ;} void get(int x, int y){	int l = 0, r = 0; 	while (check(x - l, y - l) && s[x - l][y - l] == "*")		l ++;	while (check(x - r, y + r) && s[x - r][y + r] == "*")		r ++; 	l --;	r --;	if (min(l, r) >= k) {		for (int i = 0; i <= min(l, r); i++) {			st[x - i][y - i] = 1;			st[x - i][y + i] = 1;		}	}} void solve(){    cin >> n >> m >> k;    	memset(st, 0, sizeof st);		fer(i,0,n-1)		scanf("%s", s[i]); 	fer(i,0,n-1)		fer(j,0,m-1)			if (s[i][j] == "*")				get(i, j); 	bool w = 1;	fer(i,0,n-1)		fer(j,0,m-1)			if (s[i][j] == "*" && st[i][j] == 0)				w = 0; 	if (w)		puts("YES") ;	else		puts("NO") ;}signed main(){	int t ;	cin >> t ;	while (t--) 	{		solve() ;	}	return 0;}

D. Productive Meeting

思路
注意到a[i]的總和是2e5
直接小根堆每次取出最大的2個–即可

其實這題是以前cf的原題
問的是不輸出方案的最大值
記錄最大值和總和比較一下即可on

其實每次取出最大的2個不一定是對的
(因為給不出證明)
其實我是想用set取出一大一小一定是對的

但是已經寫完了優先隊列就不想改了
時間復雜度 O n l o g n Onlogn Onlogn

#include #define fer(i,a,b) for(re i = a ; i <= b ; ++ i)#define der(i,a,b) for(re i = a ; i >= b ; -- i)#define all(x) (x).begin(),(x).end()#define de(x) cout << x << "/n" #define sf(x) scanf("%lld",&x)#define pll pair<int,int> #define re register int#define int long long #define pb push_back#define y second #define x first using namespace std;const int inf = 0x3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f3f ;const int N = 1e6 + 10 , M = 2010 , mod = 1e9 + 7 ;int t ;int n ;int a[N] ;pll ans[N] ;signed main(){    cin >> t ;        while(t--)    {        cin >> n ;            int s = 0 ;                priority_queue<pll> q ;                fer(i,1,n)        {            sf(a[i]) ;            if(a[i]) q.push({a[i],i}) ;        }                int hh = 0 ;                while(q.size() >= 2)        {            auto t1 = q.top() ;            q.pop() ;                        auto t2 = q.top() ;            q.pop() ;                        ans[ ++ hh] = {t1.y,t2.y} ;                        t1.x -- , t2.x -- ;            if(t1.x) q.push({t1.x,t1.y}) ;            if(t2.x) q.push({t2.x,t2.y}) ;        }                de(hh) ;                fer(i,1,hh)        {            cout << ans[i].x << " " << ans[i].y << "/n" ;        }    }    return 0;}

E1. Permutation Minimization by Deque

思路
用duque直接模擬
小的放前面,大的放后面即可
時間復雜度 O n On On

#include #define fer(i,a,b) for(re i = a ; i <= b ; ++ i)#define der(i,a,b) for(re i = a ; i >= b ; -- i)#define all(x) (x).begin(),(x).end()#define de(x) cout << x << "/n" #define sf(x) scanf("%lld",&x)#define 
                 
               
              

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/121676.html

相關文章

  • 表單 驗證 函數

    摘要:驗證示意代碼設備編碼長度為的編碼目錄信息設備編碼屬性的主要寫法包括必填必填,正確的經度在中已經定義必須為整數必填,最大長度英文,中文必填,最小長度英文,中文主要的組件代碼不能為空必須為整數不是合法的數字不是合法 (驗證)html 示意代碼 設備編碼: * ui-validate 屬性的主要寫法包括: ui-valida...

    luck 評論0 收藏0
  • 高精度數學運算

    摘要:使用,保證精度的同時,能精準的進行四舍六入計算。類精確的數學運算使用來實現精準度因為精度的原因構造方法的結果有一定的不可預知性,例如因此建議使用。算法規則四舍六入五考慮,五后非零就進一,五后皆零看奇偶,五前為偶應舍去,五前為奇要進一。 四舍六入計算 算法規則: 四舍六入五考慮, 五后非零就進一, 五后皆零看奇偶, 五前為偶應舍去, 五前為奇要進一。 使用BigDecimal,保證精度的...

    liaosilzu2007 評論0 收藏0
  • css3+less隨機動畫總結

    摘要:前言有個動畫需求,有幾個,需要不同時,不同幅度移動,用了實現重點使用,內可嵌入代碼,獲得的內容可以做名字,也可以當作數字參與的其他計算,但是獲得的內容不能當作名字編譯前編譯后總結在 前言 有個動畫需求,有幾個div,需要不同時,不同幅度移動,用了css3+less實現 重點 使用~``,``內可嵌入js代碼,獲得的內容可以做keyframes 名字,也可以當作數字參與less的其他計算...

    Mertens 評論0 收藏0
  • CSS中clip-path屬性的使用

    摘要:的使用值為多個坐標點組成,坐標第一個值是方向,第二個值是方向。值為橢圓的軸半徑,軸半徑,定位橢圓的坐標三部分組成。 clip-path的使用 polygon 值為多個坐標點組成,坐標第一個值是x方向,第二個值是y方向。 左上角為原點,右下角是(100%,100%)的點。 body { background-color: #000; } .fa { border: 1px ...

    KnewOne 評論0 收藏0
  • CSS中clip-path屬性的使用

    摘要:的使用值為多個坐標點組成,坐標第一個值是方向,第二個值是方向。值為橢圓的軸半徑,軸半徑,定位橢圓的坐標三部分組成。 clip-path的使用 polygon 值為多個坐標點組成,坐標第一個值是x方向,第二個值是y方向。 左上角為原點,右下角是(100%,100%)的點。 body { background-color: #000; } .fa { border: 1px ...

    levius 評論0 收藏0

發表評論

0條評論

最新活動
閱讀需要支付1元查看
<