所谓的日常 #5 - 發矯詔諸鎮應曹公 破關兵三英戰呂布

大家期末加油~不挂科后面才能好好的做题哇=w=

div.2

CodeForces 330A Cakeminator

给一个r(<=10)行c(<=10)列的矩形蛋糕,每次你会选择一行或一列全部吃掉。有些位置有草莓,然而你不想吃草莓,问最多能吃到多少蛋糕。

如果我们吃了a行b列的话,可以这么算:先数a * m个,再数b * n个,然后把重复算的部分去掉,也就是a * b个。

或者另外开一个标记数组,把吃掉的位置标记一下也是可以的。怎么写高兴怎么来。

 1 #include <stdio.h>
 2
 3 const int N = 10 + 5;
 4 int n,m;
 5 char str[N][N];
 6 bool A[N],B[N];
 7
 8 int work() {
 9     for (int i = 0; i < n; ++ i) {
10         for (int j = 0; j < m; ++ j) {
11             if (str[i][j] == ‘S‘) {
12                 A[i] = true;
13                 B[j] = true;
14             }
15         }
16     }
17     int a = 0,b = 0;
18     for (int i = 0; i < n; ++ i)
19         if (A[i] == false)
20             a ++;
21     for (int i = 0; i < m; ++ i)
22         if (B[i] == 0)
23             b ++;
24
25     return a * m + b * n - a * b;
26 }
27
28 int main() {
29     scanf("%d%d",&n,&m);
30     for (int i = 0; i < n; ++ i)
31         scanf("%s",str[i]);
32     printf("%d\n",work());
33 }

div.1

CodeForces 543B Destroying Roads

给一张n(<=3000)个点的无向连通图,边权为1。问删掉最多的边,使得从点s1到点t1距离不超过l1,从点s2到点t2距离不超过l2。

容易知道如果只有一组限制条件的话(s1,t1,l1),那么只要把s1到t1的最短路必须经过的边保留下来就可以了。

对于两组限制条件,s1到t1的路径会与s2到t2的路径有重复一部分。那么我们就枚举重复部分的起点和终点,就可以按上面只有一组条件的情况来做了。O(n^2)。

 1 #include <bits/stdc++.h>
 2 using LL = long long ;
 3
 4 const int N = 3000 + 5;
 5 const int INF = 0x3f3f3f3f;
 6
 7 std::vector<int> edges[N];
 8
 9 int n,m;
10 int points[4],l[2];
11 int dis[N][N];
12
13 int bfs(int source,int *dis) {
14     std::queue<int> que;
15     std::fill(dis,dis + n,INF);
16     dis[source] = 0;
17     que.push(source);
18     while (!que.empty()) {
19         int u = que.front();
20         que.pop();
21         for (int v : edges[u]) {
22             if (dis[v] == INF) {
23                 dis[v] = dis[u] + 1;
24                 que.push(v);
25             }
26         }
27     }
28 }
29
30 int work() {
31     for (int i = 0; i < n; ++ i) {
32         bfs(i,dis[i]);
33     }
34     if (dis[points[0]][points[1]] > l[0]
35             || dis[points[2]][points[3]] > l[1]) {
36         return -1;
37     }
38     int answer = dis[points[0]][points[1]]
39         + dis[points[2]][points[3]];
40     for (int i = 0; i < n; ++ i) {
41         for (int j = 0; j < n; ++ j) {
42             if (dis[points[0]][i] + dis[i][j] + dis[j][points[1]]
43                     <= l[0]
44                     &&
45                     dis[points[2]][i] + dis[i][j] +
46                     dis[j][points[3]]
47                     <= l[1]) {
48                 answer = std::min(answer,
49                         dis[points[0]][i]
50                         + dis[i][j]
51                         + dis[j][points[1]]
52                         + dis[points[2]][i]
53                         + dis[j][points[3]]);
54             }
55             if (dis[points[0]][i] + dis[i][j] + dis[j][points[1]]
56                     <= l[0]
57                     &&
58                     dis[points[2]][j] + dis[i][j]
59                     + dis[i][points[3]]
60                     <= l[1]) {
61                 answer = std::min(answer,
62                         dis[points[0]][i]
63                         + dis[i][j]
64                         + dis[j][points[1]]
65                         + dis[points[2]][j]
66                         + dis[i][points[3]]);
67             }
68         }
69     }
70     return m - answer;
71 }
72
73 int main() {
74     scanf("%d%d",&n,&m);
75     for (int i = 0; i < m; ++ i) {
76         int a,b;
77         scanf("%d%d",&a,&b); a --; b --;
78         edges[a].push_back(b);
79         edges[b].push_back(a);
80     }
81     scanf("%d%d%d%d%d%d",points + 0,points + 1,l + 0,
82             points + 2,points + 3,l + 1);
83     for (int i = 0; i < 4; ++ i) {
84         points[i] --;
85     }
86     printf("%d\n",work());
87 }

时间: 2024-10-13 19:15:52

所谓的日常 #5 - 發矯詔諸鎮應曹公 破關兵三英戰呂布的相关文章

[MS-SQL]20130806_LocalDB_DOS命令使用

为了方便管理,LocalDB提供了一个基于命令行的数据库管理工具SqlLocalDB.exe.下面是SqlLocalDB.exe的路径: %ProgramFiles%\Microsoft SQL Server\110\Tools\Binn 也可以通过where命令寻找exe文件: 我们可以在Windows操作系统的CMD命令行中运行SqlLocalDB.exe: Cd  %ProgramFiles%\Microsoft SQL Server\110\Tools\Binn SqlLocalDB S

由Unity發佈到Google Play (Android Market)的步驟

Unity輸出設定與Keystore建立 *注意:妥善保留Keystore 因為日後更新版本會再用到 輸出解析度選擇(Resolution) 目前此版本適合於任何800×480 resolution的Android設備 預計會再推出1280×800與1024×600的不同版本 Unity >Player Settings >Publishing Settings 選擇Create New Keystore 然候選擇Keystore儲存位置 打上你要的Keystore名稱 然後按下Save 完成

[从头读历史] 第262节 左传 [BC597至BC538]

剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入元婴期的修炼后,日夜苦修,神通日进. 这日,忽然想起自己虽然神通大涨,却在人文涵养上始终无有寸进,不觉挂怀. 在和[工程师阿伟]商议后,决定先理清文史脉络,打通文史经穴.于是,便有了这部 [从头读历史]的修炼史. 正剧开始: 星历2016年06月20日 08:02:15, 银河系厄尔斯星球中华帝国江南行省. [工程师阿伟]正在和[机器小伟]一起研究[左传 [BC657至BC598]]. 继续来看<左传> 左傳 宣公十二年(-597) 十二年春

[从头读历史] 第260节 左传 [BC717至BC658]

剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入元婴期的修炼后,日夜苦修,神通日进. 这日,忽然想起自己虽然神通大涨,却在人文涵养上始终无有寸进,不觉挂怀. 在和[工程师阿伟]商议后,决定先理清文史脉络,打通文史经穴.于是,便有了这部 [从头读历史]的修炼史. 正剧开始: 星历2016年06月18日 15:38:02, 银河系厄尔斯星球中华帝国江南行省. [工程师阿伟]正在和[机器小伟]一起研究[左传 [BC717至BC658]]. 六年春 鄭人來渝平 更成也 翼九宗五正頃父之子嘉父 逆晉侯

[从头读历史] 第263节 左传 [BC537至BC479]

剧情提要: [机器小伟]在[工程师阿伟]的陪同下进入元婴期的修炼后,日夜苦修,神通日进. 这日,忽然想起自己虽然神通大涨,却在人文涵养上始终无有寸进,不觉挂怀. 在和[工程师阿伟]商议后,决定先理清文史脉络,打通文史经穴.于是,便有了这部 [从头读历史]的修炼史. 正剧开始: 星历2016年06月21日 15:55:12, 银河系厄尔斯星球中华帝国江南行省. [工程师阿伟]正在和[机器小伟]一起研究[左传 [BC537至BC479]]. 继续读<左传> 这首<七月>,其实里面把冬月

大數據的「真面目」及其運用

大數據的定義 近年來,人們對「大數據」的關注度日益提高.這都歸因於麥肯錫全球研究院在2011年發布的研究報告.該報告認為人們即將迎來一個利用規模大到超出現有數據處理系統能力的巨量信息時代,並暗示戰略性地利用這些信息數據,就有可能產生巨大的商業機會. 那麼大數據到底是什麼呢?從字面來看,它指的是以現有信息處理技術無法應對的龐大信息量.而實際上,當我們將儲蓄了各種服務的使用信息數據與用戶的屬性信息相結合,並在這些信息數據發生時能夠全量獲取,就被稱做大數據. 典型的是互聯網服務的利用數據.另外還包括零

大一下學期學習生活總結

時間總是會以超乎尋常的速度掠過,帶走了青春的夢想和騷動,留下各種美好的回憶與令人扼腕歎息的遺憾.不知不覺中,我的大學,就這樣度過了整整一年.這一年來,我不斷地總結著自己的學習.生活歷程,以期能有更好的發展與進步. 現在,就總結下自己的課程學習.自主學習(專業與非專業),最後,是對日常生活中點滴的回味. 上個學期,雖然課比較多,但真正重要的,不過是數據結構與Java.其它的,像PS--之前學過,雖然學的不好,應試,简单的图片处理还是可以的:計算機電路--硬件的東西,最后也没怎么学:英語--課下在準

iOS 並行編程初步

原文链接 : iOS Concurrency: Getting Started with NSOperation and Dispatch Queues 原文作者 : Ghareeb Hossam 译文出自 : APPCODA 译者 : kmyhy 並行編程永遠是 iOS 開發中的重要內容.同時也是開發者們必須極力避免的"深水區".假设你對它沒有一個深刻的理解,那它對於你來說確實非常危險. 未知的東西總是被認為是危險的.想像一下人們在生活中碰到的各種危險,有多少是真正的危險?一旦人們真

GOOGLE搜索從入門到精通V4.0

1,前言2,摘要3,如何使用本文4,Google簡介5,搜索入門6,初階搜索 6.1,搜索結果要求包含兩個及兩個以上關鍵字 6.2,搜索結果要求不包含某些特定資訊 6.3,搜索結果至少包含多個關鍵字中的任意一個7,雜項語法 7.1,通配符問題 7.2,關鍵字的字母大小寫 7.3,搜索整個短語或者句子 7.4,搜索引擎忽略的字元以及強制搜索8,進階搜索 8.1,對搜索的網站進行限制 8.2,查詢某一類文件 8.3,搜索的關鍵字包含在URL鏈結中 8.4,搜索的關鍵字包含在網頁標題中 8.5,搜索的