Codeforces Round 1137

这场比赛做了\(A\)、\(B\),排名\(376\)。

主要是\(A\)题做的时间又长又交了两次\(wa4\)的。

这两次错误的提交是因为我第一开始想的求最大值很不对,竟然还有\(min\)在里面。。。

Codeforces 1137 A

题意:给一个矩阵,问对于每一个格子\((x,y)\),把第\(x\)行和第\(y\)列的值取出,要求将它们每一个赋上一个正整数,要求同一行、列中大小关系依然相同,问最大的数。

思路:我们先考虑每一行(列)的数们把它们赋成一个个正整数,然后发现就是求这个行(列)中有多少个互不相同的数,所以将每一行(列)的数排序去重,再来考虑把行列结合的问题。

然后我们发现在结合行列的时候我们应该看这一行、列中此数是第几个,记为\(C_x,C_y\)。然后记这一行、列各有多少个不同的数,记为\(S_x,S_y\)。然后我们可以发现我们的\((x,y)\)这个数必须赋成\(max(C_x,C_y)\)这个数,要不然如果赋了\(min(C_x,C_y)\)就会发生\(max(C_x,C_y)\)所对应行(列)的最小值小于等于\(0\)的情况。

所以假设\(C_x>C_y\),如果不是就\(swap\)一下。

然后考虑答案。我们只用以\(max(S_x,S_y+C_x-C_y)\)作为答案即可。就是考虑行和列的最大值,对于列来说我们将原来的\(C_y\)改为现在的\(C_x\),那么最大的就会加上一个\(C_x-C_y\)。

Codeforces 1137 B

题意:给两个串\(S\)、\(T\),问将\(S\)中字符任意调换后出现\(T\)次数最多的方案。

思路:我们首先考虑怎么样放\(T\)才是最优的。我们直观上考虑前后两个\(T\)的出现肯定要重叠一定的面积,那么我们考虑\(T\)的最长的与前缀相同的后缀\(T'\),我们最终的答案希望是这样的:\(TT...TT'\)。

所以我们枚举\(T'\)出现的次数,看\(S\)中字符是不是够即可。\(T'\)的长度需要用\(Z\_function\)或KMP来求。我考试的时候忘了KMP怎么写,于是就用\(Z\_Function\)代替。掌握不熟练。

【Codeforces Round 1137】Codeforces #545 (Div. 1)的更多相关文章

  1. Codeforces Round #539&#542&#543&#545 (Div. 1) 简要题解

    Codeforces Round #539 (Div. 1) A. Sasha and a Bit of Relax description 给一个序列\(a_i\),求有多少长度为偶数的区间\([l ...

  2. 【Codeforces Round 1114】Codeforces #538 (Div. 2)

    Codeforces Round 1114 这场比赛做了\(A\).\(C\).\(D\).\(E\),排名\(134\). \(B\)题做了很长时间,好不容易最后一分钟\(Pretest\ Pass ...

  3. 【Codeforces Round 1110】Codeforces Global Round 1

    Codeforces Round 1110 这场比赛只做了\(A\).\(B\).\(C\),排名\(905\),不好. 主要的问题在\(D\)题上,有\(505\)人做出,但我没做出来. 考虑的时候 ...

  4. 【Codeforces Round 650】Codeforces #334 (Div. 1)

    模拟CF650,ABC三题,RK90 Codeforces 650 A 思路:首先看式子 \(\sqrt{(x_i-x_j)^2+(y_i-y_j)^2}=|x_i-x_j|+|y_i-y_j|\) ...

  5. 【Codeforces Round 464】Codeforces #265 (Div. 1)

    模拟RD265 ABC三题,Rank58 Codeforces 464 A 题意:给定一个字符串,求比这个字符串字典序大并且和它长度相等的第一个不含有长度大于等于2的回文串的字符串. 思路:首先我们枚 ...

  6. Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 题解

    Codeforces Round #542 [Alex Lopashev Thanks-Round] (Div. 2) 题目链接:https://codeforces.com/contest/1130 ...

  7. 【Codeforces Round 1129】Alex Lopashev Thanks-Round (Div. 1)

    Codeforces Round 1129 这场模拟比赛做了\(A1\).\(A2\).\(B\).\(C\),\(Div.1\)排名40. \(A\)题是道贪心,可以考虑每一个站点是分开来的,把目的 ...

  8. 【cf比赛记录】Codeforces Round #601 (Div. 2)

    Codeforces Round #601 (Div. 2) ---- 比赛传送门 周二晚因为身体不适鸽了,补题补题 A // http://codeforces.com/contest/1255/p ...

  9. 【cf比赛记录】Codeforces Round #600 (Div. 2)

    Codeforces Round #600 (Div. 2) ---- 比赛传送门 昨晚成绩还好,AC A,B题,还能上分(到底有多菜) 补了C.D题,因为昨晚对C.D题已经有想法了,所以补起题来也快 ...

随机推荐

  1. C++桥接模式【转】

    https://www.cnblogs.com/jiese/p/3164940.html 将抽象部份与它的实现部份分离,使它们都可以独立地变化. 桥接模式号称设计模式中最难理解的模式之一,关键就是这个 ...

  2. 【HTML笔记】--- 内联元素间距问题及解决方案

    一.内联元素间距问题 在HTML实践中我们会发现,有时候内联元素之间会存在一定的间距,并且这间距和margin和padding无关.这是由编辑时的空白字符引起的,并且间距的大小受父元素的font-si ...

  3. csharp: Configuring ASP.NET with Spring.NET and FluentNHibernate

    Domain: FluentNhibernateLocalSessionFactoryObject.cs using System; using System.Collections.Generic; ...

  4. vue-cli脚手架之build文件夹上半部

    好,接下来一起分析分析配置文件^o^. build.js作用:命令npm run build的入口配置文件,主要用于生产环境. build.js中具体含义标注(vue-cli脚手架官方文件解释,大家可 ...

  5. Salesforce Live Agent 简介

    Live Agent Salesforce 内置了即时聊天功能--Live Agent,可以用来作为客服工具. 本文简单介绍了使用 Live Agent 的步骤,主要包含: 启用 Live Agent ...

  6. MIPS 安全相关paper阅读笔记

    前言 论文来自 ​ https://cyber-itl.org/2018/12/07/a-look-at-home-routers-and-linux-mips.html Linux_MIPS_mis ...

  7. android recovery 升级UI显示之资源文件

    Recovery只有在升级的时候才会呈现给用户,所以界面一般都很简单,没有android上层那么绚丽,所以recovery下面对图片的支持很有限,仅支持png图片显示,所以我们可以看到,recover ...

  8. JavaScript大杂烩7 - 理解内置集合

    JavaScript内置了很多对象,简单的类型如String,Number,Boolean (相应的"值类型"拥有相同的方法),复杂一点的如Function,Object,Arra ...

  9. [20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED2.txt

    [20180317]12c TABLE ACCESS BY INDEX ROWID BATCHED2.txt --//简单探究12c TABLE ACCESS BY INDEX ROWID BATCH ...

  10. python第九天----今天来晚了!

    作业 1. HAproxy配置文件操作1. 根据用户输入输出对应的backend下的server信息2. 可添加backend 和sever信息3. 可修改backend 和sever信息4. 可删除 ...