每日总结不能少!让自己的头脑好好清醒清醒,才不会犯那些所谓的低级错误!

Contest

A. ssoj3045 A 先生砍香蕉树

根据数据范围 \(m\le 1000,b\le 10000\),显然本题直接暴力枚举格点即可。没想到我为了优化代码推半天还推错了……

我最近做题有一个很主观的感知就是,我的复杂度估计很不准,数组大小估计也是。看来要好好反省一下。

DFS 遍历全图的复杂度是 \(O(m)\),DFS 枚举排列是 \(O(n!)\),DFS 枚举区间是 \(O(n^2)\),有单调性可以化为 \(O(n)\) 或 \(O(n\log n)\)。

BFS 复杂度与 DFS 差不多,主要是在栈空间上面的问题。

最短路 Floyd 复杂度 \(O(n^3)\),Dijkstra 复杂度 \(O(m\log m)\),SPFA 复杂度 \(O(nm)\),最小生成树 Kruskal \(O(m\log m)\)。

LCA 欧拉序上 ST 算法复杂度预处理 \(O(n\log n)\),每次询问 \(O(1)\)。

拓扑排序 \(O(n+m)\),强连通分量 Kosaraju \(O(n+m)\)(求后序遍历 dfn \(O(m)\),从 dfn 最大的顶点反向 DFS 为一个强连通分量;剩余点继续取 dfn 最大 DFS \(O(n)\))。

log 级别数据结构有 树状数组、线段树,并查集均摊 \(O(1)\)。线段树开 4 倍空间,常数大。

排序算法 \(O(n\log n)\)。

先背诵下来,再理解理解。

B. 草堆摆放 (restack)

FJ 买了一些干草堆,他想把这些干草堆分成 \(N\) 堆 (\(1\le N\le 100,000\)) 摆成一圈,其中第 \(i\) 堆有 \(B_i\) 数量的干草。不幸的是,负责运货的司机由于没有听清 FJ 的要求,只记住分成 \(N\) 堆摆成一圈这个要求,而每一堆的数量却是 \(A_i\) (\(1\le i\le N\))。当然 \(A_i\) 的总和肯定等于 \(B_i\) 的总和。FJ 可以通过移动干草来达到要求,即使得 \(A_i=B_i\),已知把一个干草移动 \(x\) 步需要消耗 \(x\) 数量的体力,相邻两个干草堆之间的步数为 1。请帮助 FJ 计算最少需要消耗多少体力才能完成任务。

与蓝书 P4 分金币同理。最终转化为求解中位数

#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;
#define ll long long int n, B[100005];
ll ans; int main() {
scanf("%d", &n);
for (int i=1, A; i<=n; ++i) scanf("%d%d", &A, &B[i]), B[i]+=B[i-1]-A;
sort(B+1, B+n+1);
for (int i=1, m=n+1>>1; i<=n; ++i) ans+=B[m]>B[i]?B[m]-B[i]:B[i]-B[m];
printf("%lld\n", ans);
return 0;
}

C. Elephants (slo)

对于一个 \(1-N\) 的排列 \(a\),每次你可以交换两个数 \(a_x\) 与 \(a_y\),代价为 \(m(a_x)+m(a_y)\)。若干次交换的代价为每次交换的代价之和。\(N\) 个 100 到 6500 的整数,按照某个顺序排列。现在要交换若干次,每次交换两个数的位置,使得变成目标顺序。 请问将 \(a\) 变为 \(b\) 所需的最小代价是多少。

D. 电路维修

目前想法是 Dijkstra 做最短路,但因为数据水 AC 了。实际上这么做是有问题的,因为一个节点可能被多次访问。

正解应该是在 deque 上做 BFS。维护双端队列,新入队的边如果边权为 0 加入队头,边权为 1 加入队尾。这样就没有什么问题了。

我真是疯了,数组开那么小还 debug 半天……

7 November in 614的更多相关文章

  1. 8 November in 614

    我开始看心灵鸡汤了-- 每当在书中读及那些卑微的努力,都觉得感动且受震撼.也许每个人在发出属于自己的光芒之前,都经历了无数的煎熬,漫长的黑夜,无尽的孤独,甚至不断的嘲讽和否定,但好在那些踮脚的少年,最 ...

  2. 6 November in 614

    Contest A. greet map,完了. B. gift map,完了. C. [Usaco2008 Nov Gold] 安慰奶牛 最小生成树.新边权设为原边权的两倍,再加上两端点的点权.完了 ...

  3. 5 November in 614

    Contest A. ssoj2964 交错的士兵 \(n\) 个数的排列,从左到右依次为 1, 2, -, \(n\).\(n\) 次操作,对于第 \(i\) 次操作,从左到右分成很多段,每段 \( ...

  4. [POJ1765]November Rain

    [POJ1765]November Rain 试题描述 Contemporary buildings can have very complicated roofs. If we take a ver ...

  5. We will be discontinuing the Nitrous Development Platform and Cloud IDE on November 14th, 2016.

    我表示我很难过 Nitrous We will be discontinuing the Nitrous Development Platform and Cloud IDE on November ...

  6. TIOBE Index for November 2015(转载)

    原文地址:http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html November Headline: Java once a ...

  7. 日常英语---七、[Updated November 14 at 4:10 PM PST] Scheduled Game Update - November 14, 2018(n.标准)

    日常英语---七.[Updated November 14 at 4:10 PM PST] Scheduled Game Update - November 14, 2018(n.标准) 一.总结 一 ...

  8. Multi-Cloud & Kubernetes: Cloud Academy November 2018 Data Report

    https://cloudacademy.com/research/multi-cloud-kubernetes-devops-cloud-academy-data-report-nov-18/ No ...

  9. ACM ICPC 2010–2011, Northeastern European Regional Contest St Petersburg – Barnaul – Tashkent – Tbilisi, November 24, 2010

    ACM ICPC 2010–2011, Northeastern European Regional Contest St Petersburg – Barnaul – Tashkent – Tbil ...

随机推荐

  1. 安卓中java和js如何交互

    1.安卓中java和js如何交互 在Android上怎样实现JAVA和JS交互呢?Android的webview是基于webkit内核的,webview中集成了js与java互调的接口函数,通过add ...

  2. 【ABAP系列】SAP ABAP模块-任意report作为附件以邮件形式发送

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[ABAP系列]SAP ABAP模块-任意rep ...

  3. c# 获取 Apk ,Aar 文件包名

    最近项目有个需求,需要拿到前端上传的Apk或者Aar文件里面的包名. 在这里贡献出来,方便有需求的小伙伴. 项目是 asp.net core 2.2 需要安装 nuget : AndroidXml S ...

  4. SecureCRT远程ssh linux服务器,利用X11本地图形化wireshark抓包,

    平时学习抓包,使用wireshark很方便,直接图形化界面抓包,近期项目中遇到了需要通过SecureCRT ssh到linux服务器上面,还要在抓包, 1.简单使用网络数据包截获分析工具tcpdump ...

  5. elasticsearch 基础 —— 集群原理

    空集群 如果我们启动了一个单独的节点,里面不包含任何的数据和 索引,那我们的集群看起来就是一个 图 1 "包含空内容节点的集群". 图 1. 包含空内容节点的集群 一个运行中的 E ...

  6. 2018-7-24-WPF-渲染级别

    title author date CreateTime categories WPF 渲染级别 lindexi 2018-07-24 18:46:27 +0800 2018-04-20 16:26: ...

  7. Spring Cloud Contract简介

    转载:https://www.jianshu.com/p/e3277824a10a 和dummy service一样 Spring Cloud Contract是个啥? Spring Cloud Co ...

  8. 如何为nginx配置https(免费证书)

    前言: 给http协议申请ssl免费证书,还是比较主流的一种方式,但是逐渐得一些浏览器不支持自签名的证书了.毕竟这是为了使用者及平台都变得安全的方式,所以无可厚非的,而且也有很多网站即使不使用商业付费 ...

  9. Tomcat-部署多个项目(不同端口)

    20190713  整理 参考文档 https://blog.csdn.net/chenchunlin526/article/details/78799772 如何在Tomcat服务中,为不同端口部署 ...

  10. python常用函数 D

    defaultdict(set_type) 可以定义字典多值映射,入参类型决定value类型. 例子: deque:(int) 保留最后N个元素 例子: Decimal(float) 直接对浮点数进行 ...