Codeforces Round #222 (Div. 2)
Jun 07, 2016 pm 03:44 PMA. Playing with Dice time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Two players are playing a game. First each of them writes an integer from 1 to 6, and then a dice is thrown.
A. Playing with Dice
time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output
Two players are playing a game. First each of them writes an integer from 1 to 6, and then a dice is thrown. The player whose written number got closer to the number on the dice wins. If both payers have the same difference, it's a draw.
The first player wrote number?a, the second player wrote number?b. How many ways to throw a dice are there, at which the first player wins, or there is a draw, or the second player wins?
Input
The single line contains two integers?a?and?b?(1?≤?a,?b?≤?6)?— the numbers written on the paper by the first and second player, correspondingly.
Output
Print three integers: the number of ways to throw the dice at which the first player wins, the game ends with a draw or the second player wins, correspondingly.
Sample test(s)
input
2 5
output
3 0 3
input
2 4
output
2 1 3
Note
The dice is a standard cube-shaped six-sided object with each side containing a number from 1 to 6, and where all numbers on all sides are distinct.
You can assume that number?a?is closer to number?x?than number?b, if?|a?-?x|?|b?-?x|.
A題:a,bi兩個(gè)數(shù)字,扔一個(gè)色字,求分別與a,b求差的絕對值,誰小就誰贏,相等平局,輸出情況。
水:
#include <stdio.h> #include <stdlib.h> #include <math.h> #include <string.h> int a, b; int main() { int ans1 = 0, ans2 = 0, ans3 = 0; scanf("%d%d", &a, &b); for (int i = 1; i abs(b - i)) ans3++; } printf("%d %d %d\n", ans1, ans2, ans3); return 0; }</string.h></math.h></stdlib.h></stdio.h>
B題:隨即1-k表示半決賽前k名直接晉級,剩下的人按時(shí)間排,貪心。
#include <stdio.h> #include <string.h> const int N = 100005; int n, a[N], b[N]; int an[N], bn[N]; void init() { scanf("%d", &n); memset(an, 0, sizeof(an)); memset(bn, 0, sizeof(bn)); for (int i = 0; i <br> C題:給定k步,要求填到只剩一塊連接的空白。搜索題 <pre class="brush:php;toolbar:false">#include <stdio.h> #include <string.h> #include <algorithm> #define max(a,b) (a)>(b)?(a):(b) #define min(a,b) (a) b.v; } void init() { sum = 0; Max = 0; snum = 0; memset(p, 0, sizeof(p)); scanf("%d%d%d", &n, &m, &k); for (int i = 0; i = 0 && xx = 0 && yy = 0 && xx = 0 && yy <br> D題:m個(gè)bug每個(gè)bug有級別,n個(gè)人,每個(gè)人有級別和需求,現(xiàn)在總共有s個(gè)需求,求最少天數(shù)完成的方法,并且輸出方案。 <p>思路:二分+貪心+優(yōu)先隊(duì)列優(yōu)化</p> <pre class="brush:php;toolbar:false">#include <stdio.h> #include <string.h> #include <algorithm> #include <queue> using namespace std; const int N = 100005; int n, m, s, a[N], ans[N]; struct S { int b, c, id; friend bool operator b.c; } } st[N]; struct B { int a, id; } bd[N]; int cmp(S a, S b) { return a.b > b.b; } int cmp1(B a, B b) { return a.a Q; for (int i = m - 1; i >= 0; i -= time) { while (st[sn].b >= bd[i].a && sn != n) {Q.push(st[sn++]);} if (Q.empty()) return false; S t = Q.top(); Q.pop(); if (ss = e; j--) { ans[bd[j].id] = t.id; } } return true; } bool judge(int time) { int ss = s, sn = 0; priority_queue<s>Q; for (int i = m - 1; i >= 0; i -= time) { while (st[sn].b >= bd[i].a && sn != n) {Q.push(st[sn++]);} if (Q.empty()) return false; S t = Q.top(); Q.pop(); if (ss <br> </s><p>E題:dota2 進(jìn)行 bp操作,每個(gè)英雄有一個(gè)能力值,玩家1,2分別進(jìn)行b,p操作,每個(gè)玩家都盡量往好了取,要求最后能力值的差,</p> <p>思路:dp+貪心+位運(yùn)算,對于一個(gè)玩家進(jìn)行pick時(shí),肯定選能力值最大的,這是貪心。進(jìn)行ban時(shí)。要把所有情況找出來。用dp的記憶化搜索。對于狀態(tài)利用2進(jìn)制的位運(yùn)算。</p> <p>代碼:</p> <pre class="brush:php;toolbar:false">#include <stdio.h> #include <string.h> #include <algorithm> #define min(a,b) (a)(b)?(a):(b) using namespace std; const int INF = 0x3f3f3f3f; const int MAXN = 1111111; const int N = 105; const int M = 25; int cmp(int a, int b) { return a > b; } int n, m, s[N], c[M], t[M], dp[MAXN], st; void init() { memset(dp, INF, sizeof(dp)); scanf("%d", &n); for (int i = 0; i <br> <br> </algorithm></string.h></stdio.h>

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強(qiáng)力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

クロスプラットフォームの移行またはマルチパーソン開発の場合、文字セットとソートルールの問題は一般的になり、その結(jié)果、文字化けされたコードまたは一貫性のないクエリが発生します。 3つのコアソリューションがあります。最初に、データベース、テーブル、およびフィールドの文字セットをUTF8MB4にチェックして統(tǒng)合し、showCreateDatabase/テーブルを介して表示し、ALTERステートメントで変更します。次に、クライアントが接続するときにUTF8MB4文字セットを指定し、接続パラメーターに設(shè)定するか、SetNamesを?qū)g行します。第三に、ソートルールを合理的に選択し、UTF8MB4_UNICODE_CIを使用して比較と並べ替えの正確性を確保し、ライブラリとテーブルを構(gòu)築するときに変更を介して指定または変更することをお?jiǎng)幛幛筏蓼埂?/p>

MySQLデータベースに接続する最も直接的な方法は、コマンドラインクライアントを使用することです。最初にMySQL -Uユーザー名-Pを入力し、パスワードを正しく入力して、インタラクティブインターフェイスを入力します。リモートデータベースに接続する場合は、-Hパラメーターを追加してホストアドレスを指定する必要があります。次に、MySQL-U USERNAME-Pデータベース名やMySQL-U USERNAME-Pデータベース名など、ログイン時(shí)に特定のデータベースに直接切り替えるか、ログインするときにSQLファイルを?qū)g行できます。

MySQLはトランザクション処理をサポートし、INNODBストレージエンジンを使用してデータの一貫性と整合性を確保します。 1。トランザクションはSQL操作のセットであり、すべてが成功するか、すべてがロールバックに失敗します。 2。酸屬性には、原子性、一貫性、分離、持続性が含まれます。 3。トランザクションを手動(dòng)で制御するステートメントは、開始換算、コミット、ロールバックです。 4. 4つの分離レベルには、読み取りがコミットされていない、読み取り、提出された再現(xiàn)可能な読み取り、およびシリアル化が含まれます。 5.トランザクションを正しく使用して、長期操作を回避し、自動(dòng)コミットをオフにし、ロックと例外を合理的に処理します。これらのメカニズムを通じて、MySQLは高い信頼性と同時(shí)制御を?qū)g現(xiàn)できます。

MySQLの文字セットと照合ルールの設(shè)定は非常に重要であり、データストレージ、クエリの効率、一貫性に影響します。まず、UTF8MB4が中國語や絵文字をサポートするなど、文字セットが保存可能な文字範(fàn)囲を決定します。ソートルールは、UTF8MB4_UNICODE_CIなどの文字比較方法を制御し、UTF8MB4_BINはバイナリ比較です。第二に、文字セットは、サーバー、データベース、テーブル、列の複數(shù)のレベルで設(shè)定できます。競合を避けるために、UTF8MB4およびUTF8MB4_UNICODE_CIを統(tǒng)一された方法で使用することをお?jiǎng)幛幛筏蓼?。さらに、文字化けしたコードの問題は、多くの場合、接続、ストレージ、またはプログラム端子の一貫性のない文字セットによって引き起こされ、レイヤーごとにレイヤーをチェックして均一に設(shè)定する必要があります。さらに、変換エラーを防ぐために、エクスポートおよびインポートするときに文字セットを指定する必要があります

CTESは、複雑なクエリの読みやすさとメンテナンスを改善するために、MySQL8.0によって導(dǎo)入された機(jī)能です。 1。CTEは一時(shí)的な結(jié)果セットであり、現(xiàn)在のクエリでのみ有効で、明確な構(gòu)造があり、重複する?yún)⒄栅颔单荸`トしています。 2。サブQueriesと比較して、CTEはより読みやすく、再利用可能であり、再帰をサポートします。 3.再帰CTEは、初期クエリと再帰部品を含める必要がある組織構(gòu)造などの階層データを処理できます。 4.提案の使用には、虐待の避け、仕様の命名、パフォーマンス、デバッグ方法に注意を払うことが含まれます。

MySQLクエリパフォーマンスの最適化は、インデックスの合理的な使用、SQLステートメントの最適化、テーブル構(gòu)造設(shè)計(jì)とパーティション戦略、キャッシュおよび監(jiān)視ツールの利用など、コアポイントから開始する必要があります。 1.合理的にインデックスを使用する:一般的に使用されるクエリフィールドでインデックスを作成し、完全なテーブルスキャンを避け、結(jié)合されたインデックス順序に注意を払い、低い選択フィールドにインデックスを追加しないでください。 2。SQLクエリの最適化:Select*を避け、Whereで機(jī)能を使用しないでください。サブクエリネスティングを削減し、ページングクエリメソッドを最適化します。 3。テーブル構(gòu)造の設(shè)計(jì)とパーティション化:読み取りおよび書き込みシナリオに従ってパラダイムまたはアンチパラダイムを選択し、適切なフィールドタイプを選択し、定期的にデータをクリーンし、水平テーブルを検討して、テーブルまたはパーティションを時(shí)間単位で分割します。 4.キャッシュと監(jiān)視の利用:Redisキャッシュを使用してデータベースの圧力を下げ、遅いクエリを有効にします

信頼性の高いMySQLバックアップソリューションを設(shè)計(jì)するために、1。まず、RTOおよびRPOインジケーターを明確にし、ビジネスの許容可能なダウンタイムとデータ損失範(fàn)囲に基づいてバックアップ頻度と方法を決定します。 2。論理バックアップ(MySQldumpなど)、物理バックアップ(PerconaxTrabackupなど)、バイナリログ(BINLOG)を組み合わせて、ハイブリッドバックアップ戦略を採用して、迅速な回復(fù)と最小データ損失を達(dá)成します。 3.リカバリプロセスを定期的にテストして、バックアップの有効性を確保し、回復(fù)操作に精通します。 4.オフサイトストレージ、暗號化保護(hù)、バージョン保持ポリシー、バックアップタスク監(jiān)視など、ストレージセキュリティに注意してください。

tooptimizecomplexjoInoperationsql、followfourkeySteps:1)Joincolumnsの順にプロペラインデックスすること、特にcomposidedexexexexexexexexedexexedexedidedexediding oclumnjoinsandavoindavoindavoindavoindavoindavoindavoindavoindavoindavoindavoindavoindavoindavoindidingは、削減された
