【Codeforces Round #433 (Div. 1) B】Jury Meeting
【链接】h在这里写链接
【题意】
【题解】
【错的次数】
【反思】
【代码】
- #include <bits/stdc++.h>
- using namespace std;
- const int N = 1e6;
- int n, m, k;
- vector <pair <int, int > > in[N + 10], out[N + 10];
- long long f1[N + 10], f2[N + 10];
- int num1[N + 10], num2[N + 10];
- int mi[N + 10], MI[N + 10];
- int main() {
- ios::sync_with_stdio(0), cin.tie(0);
- cin >> n >> m >> k;
- for (int i = 1; i <= m; i++) {
- int d, f, t, c;
- cin >> d >> f >> t >> c;
- if (t == 0)
- in[d].push_back(make_pair(f, c));
- else {
- //f == 0
- out[d].push_back(make_pair(t, c));
- }
- }
- for (int i = 1; i <= N; i++) {
- num1[i] = num1[i - 1];
- f1[i] = f1[i - 1];
- for (int j = 0; j <= (int)in[i].size() - 1; j++) {
- int from = in[i][j].first, cost = in[i][j].second;
- if (mi[from] == 0) {
- mi[from] = cost;
- num1[i]++;
- f1[i] += cost;
- }
- else {
- if (mi[from] > cost) {
- f1[i] -= (mi[from] - cost);
- mi[from] = cost;
- }
- }
- }
- }
- for (int i = N; i >= 1; i--) {
- f2[i] = f2[i + 1];
- num2[i] = num2[i + 1];
- for (int j = 0; j <= (int)out[i].size() - 1; j++){
- int to = out[i][j].first; int cost = out[i][j].second;
- if (MI[to] == 0) {
- MI[to] = cost;
- f2[i] += cost;
- num2[i]++;
- }
- else {
- if (MI[to] > cost) {
- f2[i] -= (MI[to] - cost);
- MI[to] = cost;
- }
- }
- }
- }
- long long ans = -1;
- for (int i = 1; i + k +1 <= N; i++)
- if (num1[i]==n){
- if (num2[i + k + 1] == n) {
- long long temp = f1[i] + f2[i + k + 1];
- if (ans == -1) {
- ans = temp;
- }
- else
- ans = min(ans, temp);
- }
- }
- cout << ans << endl;
- return 0;
- }
【Codeforces Round #433 (Div. 1) B】Jury Meeting的更多相关文章
- 【Codeforces Round #433 (Div. 2) C】Planning
[链接]h在这里写链接 [题意] 让你确定ti,使得∑(ti-i)*gi最小,其中ti∈[k+1..k+n],且每个ti都不能一样. 且ti>=i必须成立. [题解] 分解一下成为∑ti*gi ...
- 【Codeforces Round #433 (Div. 2) B】Maxim Buys an Apartment
[链接]h在这里写链接 [题意] 你有n个位置,然后其中有k个地方是已经被人占据了的. 一个"好的位置"的定义是指,这个位置相邻的地方其中至少有一个被人占据了. k个被人占据的位置 ...
- 【Codeforces Round #433 (Div. 2) A】Fraction
[链接]h在这里写链接 [题意] 在这里写题意 [题解] 枚举分子从高到低就好. 这样得到的一定是最大的. (可以约分没错,但是约分过后和就不是n了,所以不会有错的) [错的次数] 0 [反思] 在这 ...
- 【Codeforces Round #433 (Div. 1) C】Boredom(二维线段树)
[链接]我是链接 [题意] 接上一篇文章 [题解] 接(点我进入)上一篇文章. 这里讲一种用类似二维线段树的方法求矩形区域内点的个数的方法. 我们可以把n个正方形用n棵线段树来维护. 第i棵线段树维护 ...
- 【Codeforces Round #433 (Div. 1) C】Boredom(树状数组)
[链接]h在这里写链接 [题意] 给你一个n*n的矩阵. 其中每一列都有一个点. 任意两个点构成了矩形的两个对角点 ->即任意两个点确定了一个矩形. ->总共能确定n*(n-1)/2个矩形 ...
- 【Codeforces Round #424 (Div. 2) C】Jury Marks
[Link]:http://codeforces.com/contest/831/problem/C [Description] 有一个人参加一个比赛; 他一开始有一个初始分数x; 有k个评委要依次对 ...
- 【Codeforces Round #432 (Div. 1) B】Arpa and a list of numbers
[链接]h在这里写链接 [题意] 定义bad list是一个非空的.最大公约数为1的序列.给定一个序列,有两种操作:花费x将一个元素删除.花费y将一个元素加1,问你将这个序列变为good list所需 ...
- 【Codeforces Round #420 (Div. 2) C】Okabe and Boxes
[题目链接]:http://codeforces.com/contest/821/problem/C [题意] 给你2*n个操作; 包括把1..n中的某一个数压入栈顶,以及把栈顶元素弹出; 保证压入和 ...
- 【Codeforces Round #420 (Div. 2) B】Okabe and Banana Trees
[题目链接]:http://codeforces.com/contest/821/problem/B [题意] 当(x,y)这个坐标中,x和y都为整数的时候; 这个坐标上会有x+y根香蕉; 然后给你一 ...
随机推荐
- ArcGIS Engine 9.3启动程序报错
报错1: 没有注册类 (异常来自 HRESULT:0x80040154 解决办法: 由于是X64系统,将项目的生成目标该成X86就解决了. 报错2: 正试图在 OS 加载程序锁内执行托管代码.不要尝试 ...
- 利用css去除input按钮上的文字的几种方法
相信很多时候input上的文字困扰着web前端开发者,必须要通过修改html代码中的value值才能清空按钮上的文字,但很多人不愿意去动html代码,一方面麻烦,另外主要的原因还在于保留文字对seo有 ...
- idea配置spark运行模式
1. 配置运行参数: Menu -> Run -> Edit Configurations -> 选择 + -> Application -Dspark.master=lo ...
- VMware Vsphere 6.0安装部署 总体部署架构
(一)总体部署架构 本教程用于学习目的,力求详尽的介绍安装部署过程和各组件之间的关系,部署过程从最简单的模型开始,系列文章按时间顺序依次展开,每篇介绍一个组件. 开始阶段,按照一台物理服务器,部署所有 ...
- CSUOJ 1554 SG Value
1554: SG Value Time Limit: 5 Sec Memory Limit: 256 MBSubmit: 140 Solved: 35 Description The SG val ...
- 使用Ant 和 Maven打包发布命令行程序(转载)
From:https://www.linux178.com/Java/maven-release.html 用Java写了一个命令行的小程序,使用的Intellij IDE是IDEA13原来一直使用A ...
- gdal读写图像分块处理
转自赵文原文 gdal读写图像分块处理(精华版) Review: 用gdal,感觉还不如直接用C++底层函数对遥感数据进行处理.因为gdal进行太多封装,如果你仅仅只是Geotif等格式进行处理,IO ...
- iOS开发--漫谈内存管理(一)
1.MRC与ARC 苹果提供两种内存管理机制:一种是MRC(manual reference count),即手动引用计数:还有一种是ARC(auto reference count).即自己主动引用 ...
- TCP/IP图解学习总结(二)
注意:这里的第n层是依照OSI协议来的 I 网桥--2层交换机.数据链路层面上链接两个网络的设备.它可以识别数据链路层中的数据帧. II 路由器-3层交换机.网络层面上连接两个网络,并对分组报文 ...
- google 分屏 横屏模式 按home键界面错乱故障分析(二) 分屏的启动过程
google 进入分屏后在横屏模式按home键界面错乱(二) 你确定你了解分屏的整个流程? imageMogr2/auto-orient/strip%7CimageView2/2/w/1240&quo ...