模拟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. python3 os模块

    os模块就是对操作系统进行操作,这个模块提供了一种使用操作系统相关功能的可移植方式.1.系统信息 posix.uname_result(sysname='Linux', nodename='liang ...

  2. winsock 编程(简单客户&服务端通信实现)

    winsock 编程(简单客户&服务端通信实现) 双向通信:Client send message to Server, and if  Server receive the message, ...

  3. DAY3(PYTHON)字符串切片

    字符串调整: capitalize()   #首字母大写 upper()        #全大写 lower()      #全小写 swapcase() #大小写翻转 字符串切片: 顾头不顾尾!!! ...

  4. (后端)SpringMVC提交数组时不能超过256个值(转)

    项目遇到了这个错误,spring mvc 竟然还有这个漏洞. org.springframework.beans.InvalidPropertyException: Invalid property ...

  5. Oracle EBS FA 本年折旧

    FUNCTION get_ytd_deprn(p_asset_id IN NUMBER, p_book_type_code IN VARCHAR2, p_rate_source_rule IN VAR ...

  6. js 实现动态时间

    <span id="timebox"></span>                   //承载时间的span $(function () { var o ...

  7. .gho文件检查

    虽然目前windows10的接受程度越来越广泛,但我接触到的一些非IT人士还是钟爱于windows7系统,本文记录一下在使用ghost还原系统遇到的问题. gho还原失败 在还原ghost系统过程中, ...

  8. mysql建表基本语法

    mysql添加约束的两种条件: ------表的内部添加(约束) 列名1 数据类型 (int) primary key auto_increment,---主键默认不能为空的 列名2 数据类型 not ...

  9. monkeyrunner.bat运行python脚本/命令行

    http://luochunfeng163.blog.163.com/blog/static/1670092492014258914775/

  10. Python3 socket网络编程(一)

    Socket的定义 套接字是为特定网络协议(例如TCP/IP,ICMP/IP,UDP/IP等)套件对上的网络应用程序提供者提供当前可移植标准的对象.它们允许程序接受并进行连接,如发送和接受数据.为了建 ...