模拟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|\)

的唯一可行的情况是\(x_i=x_j\)或\(y_i=y_j\)。(因为两边之和大于第三边

所以就知道怎么做了。

  • 第一种方法:我们维护三个\(map\),分别存行、列、坐标是\(\dots\)的时候已经有多少个节点。
    然后就可以边读边算,读到\((x,y)\)这个坐标的时候把\(ans\)变成
    \(row_x+col_y-cnt_{(x,y)}\)就可以了。
  • 第二种方法:我们先读完所有的坐标,然后存同一个行、列、坐标各有多少个。
    然后枚举每一个不同的行、列、坐标,算出
    \(\sum C_{row_x}^2+C_{col_y}^2-C_{cnt_{(x,y)}}^2\)即可。
Codeforces 650 B

思路:二分/two pointers

我只会二分了。。。

首先确定我们肯定是向左翻几个,再向右翻几个。(或者相反

那么我们就枚举向左翻到了哪一个(注意复制一遍原数组

然后二分右边到了多少个,用前缀和算一下代价。

然后two pointers看起来没多少人写???

注意代价要开long long

Codeforces 650 C

思路:首先我们把每一行排序。

肯定现在相同的数在“压缩”过后也是相同的。

那就扔到并查集里面当做是一个节点。

然后如果\(x\)小于\(y\)就从\(x\)所在并查集的代表元向\(y\)所在的代表元连边。

这说明\(y\)的压缩后的值肯定大于\(x\)压缩后的值。

但这样边数是\(O(n^2)\)的。

注意到我们这样连边等价于我们只连同一行内大小连续的数的边。

这样就很可做了。直接一把\(bfs\)标记在\(dag\)上下推即可。

还可以直接拓扑排序后一个小小的\(dp\)。

其实没有必要正经地“拓扑排序”,只需要把所有的格子按照数的大小排就可以了。

因为从小的到大的连边啊。。。

那样就可以一个main函数干到底了(雾

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

  1. 【Codeforces Round 1137】Codeforces #545 (Div. 1)

    Codeforces Round 1137 这场比赛做了\(A\).\(B\),排名\(376\). 主要是\(A\)题做的时间又长又交了两次\(wa4\)的. 这两次错误的提交是因为我第一开始想的求 ...

  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 464】Codeforces #265 (Div. 1)

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

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

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

  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. IBM沃森会成为第一个被抛弃的AI技术吗?

    作者|William Vorhies 译者|姚佳灵 编辑|Debra 导读:IBM 的沃森问答机(Question Answering Machine,简称 QAM),因 2011 年参加综艺节目&l ...

  2. Spring学习之旅(六)Spring AOP工作原理初探

    AOP(Aspect-Oriented  Programming,面向切面编程)是Spring提供的关键技术之一. AOP基于IoC,是对OOP(Object-Oriented Programming ...

  3. Python-Django Win7上使用Apache24和mod_wsgi部署Django1.11应用程序

    Win7上使用Apache24和mod_wsgi部署Django1.11应用程序 by:授客 QQ:1033553122 测试环境 win7 64 Django-1.11.4.tar.gz 下载地址: ...

  4. .net webapi 后台导出excel 申请付款单实例

    [HttpGet, AllowAnonymous] public void ExportSettlementPrint(string code) { FinSettlementModel settle ...

  5. Spring Boot 特性以及代码模板实例

    SpringBoot工程 参数解析 HTTP Method Request / Response / Session Error/重定向 Logger IoC AOP/Aspect   1:Sprin ...

  6. Linux中对逻辑卷的移除

    移除前先df -mT 看一下:(在上一篇的基础上:Linux中对逻辑卷进行扩容) 1.取消挂载同时删除/etc/fstab下的记录 取消挂载 umount /dev/zhi/lv-zhi 删除记录 v ...

  7. Powershell远程执行命令

    $Username = 'xx' $Password = 'xx' $ComputerName='xx' $pass = ConvertTo-SecureString -AsPlainText $Pa ...

  8. 简单易懂的程序语言入门小册子(1.5):基于文本替换的解释器,递归定义与lambda演算的一些额外说明

    这一篇接在第一篇lambda演算的后面.讲讲一些数学知识. 经常有些看似很容易理解的东西,一旦要描述得准确无误,就会变得极为麻烦. 软件工程里也有类似情况:20%的代码实现了核心功能,剩下80%的代码 ...

  9. Windows 在命令行中将输出内容放到文件中

    1.将命令行中输出的内容存储到文件中. 使用重定向符号 “>” 就可以了. 通过 > 可以创建新文件并将内容放到文件中,如果文件存在,则会覆盖. 2.通过 >> 可以向已有的文 ...

  10. 联想x3650m5服务器安装windows2008R2系统

    服务器型号:联想x3650 M5 2U服务器 硬盘:一块300G硬盘 阵列:raid0 系统:windowsserver2008R2系统 安装开始时间:20180930晚上9点 客户手里有window ...