1.2.1 Milking Cows

2024-03-15 10:32
文章标签 1.2 cows milking

本文主要是介绍1.2.1 Milking Cows,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

       我写的很麻烦……

#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
struct Node
{int s;int e;
}node[5001];bool cmp(Node a, Node b)//排序 
{if( a.s<b.s) return 1;else if( a.s==b.s ){if( a.e<=b.e)return 1;}return 0;
}
int main()
{ifstream fin("milk2.in");ofstream fout("milk2.out");int n, start, temp, maxx1=0, maxx2=0, i, j, count=0;fin>>n;for(i=0; i<n; i++)fin>>node[i].s>>node[i].e;sort(node, node+n, cmp);for(i=1; i<n-count; i++)//合并 {if( node[i].s<node[i-1].e ){if( node[i].e>node[i-1].e)node[i-1].e=node[i].e;for(j=i+1; j<n; j++){node[j-1].s=node[j].s;node[j-1].e=node[j].e;}count++;i--;}else if( node[i].s==node[i-1].e ){node[i-1].e=node[i].e;for(j=i+1; j<n; j++){node[j-1].s=node[j].s;node[j-1].e=node[j].e;}count++;i--;}}start=node[0].s;maxx1=node[0].e-node[0].s;for(i=1; i<n-count; i++){maxx1=max(maxx1, node[i].e-node[i].s);maxx2=max(maxx2, node[i].s-node[i-1].e);}fout<<maxx1<<" "<<maxx2<<endl; } 


这篇关于1.2.1 Milking Cows的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/811661

相关文章

usaco 1.2 Palindromic Squares(进制转化)

考察进制转化 注意一些细节就可以了 直接上代码: /*ID: who jayLANG: C++TASK: palsquare*/#include<stdio.h>int x[20],xlen,y[20],ylen,B;void change(int n){int m;m=n;xlen=0;while(m){x[++xlen]=m%B;m/=B;}m=n*n;ylen=0;whi

usaco 1.2 Name That Number(数字字母转化)

巧妙的利用code[b[0]-'A'] 将字符ABC...Z转换为数字 需要注意的是重新开一个数组 c [ ] 存储字符串 应人为的在末尾附上 ‘ \ 0 ’ 详见代码: /*ID: who jayLANG: C++TASK: namenum*/#include<stdio.h>#include<string.h>int main(){FILE *fin = fopen (

usaco 1.2 Milking Cows(类hash表)

第一种思路被卡了时间 到第二种思路的时候就觉得第一种思路太坑爹了 代码又长又臭还超时!! 第一种思路:我不知道为什么最后一组数据会被卡 超时超了0.2s左右 大概想法是 快排加一个遍历 先将开始时间按升序排好 然后开始遍历比较 1 若 下一个开始beg[i] 小于 tem_end 则说明本组数据与上组数据是在连续的一个区间 取max( ed[i],tem_end ) 2 反之 这个

usaco 1.2 Transformations(模拟)

我的做法就是一个一个情况枚举出来 注意计算公式: ( 变换后的矩阵记为C) 顺时针旋转90°:C[i] [j]=A[n-j-1] [i] (旋转180°和270° 可以多转几个九十度来推) 对称:C[i] [n-j-1]=A[i] [j] 代码有点长 。。。 /*ID: who jayLANG: C++TASK: transform*/#include<

P2858 [USACO06FEB] Treats for the Cows G/S 题解

P2858 题意 给一个数组。每天把最左或者最右的东西卖掉,第 i i i个东西,第 d a y day day天卖出的价格是 a [ i ] ∗ d a y a[i]*day a[i]∗day。 记忆化搜索 void dfs(int l,int r,int day,ll sum){if(v[l][r]>=sum)return;v[l][r]=sum;if(l>r)//这就是dp答案{

【渗透测试专栏】1.2认证和授权类-越权访问(水平/垂直越权)

该系列专栏旨在让漏洞检测变得更简单,只用于学习用途 靶机环境请看专栏前言专栏前言-WooYun漏洞库环境搭建-CSDN博客 目录 该系列专栏旨在让漏洞检测变得更简单,只用于学习用途 一、漏洞描述 1、水平越权 2、垂直越权 二、漏洞级别 三、漏洞检测方法 漏洞修复 一、漏洞描述 偏业务漏洞 1、水平越权 水平越权指的是在同一权限级别下,用户可以访问其他用户的资源或

如何在算家云搭建OpenSora 1.2(文本生成视频)

一. OpenSora 1.2简介 1. 技术特点 高清视频生成 : OpenSora 1.2 在 720p 高清文生视频质量和生成时长上取得了突破性进展,支持无缝产出任意风格的高质量短片。通过引入视频压缩网络(VAE)和更优的扩散模型算法,显著提升了视频生成的质量和效率。 视频压缩网络 : OpenSora 团队提出了一个创新的视频压缩网络,该网络在空间和时间两个维度上分别进行压缩。首

1.2 Java基础多线程面试题

21、介绍下进程和线程的关系 进程和线程是操作系统中两种重要的执行单元,它们在程序执行中扮演着不同的角色,但又密切相关。 进程 (Process) 定义: 进程是操作系统中独立运行的程序实例。每个进程拥有自己的地址空间、资源(如内存、文件描述符)和执行权限。一个进程可以包含多个线程。特点: 独立性: 进程是独立的执行单元,彼此之间的内存和资源是隔离的,这种隔离性增强了系统的稳定性和安全性。开

2181:Jumping Cows

网址如下: OpenJudge - 2181:Jumping Cows (这是我拿去翻译的版本) 简单来说,题目要求我们求出一个子串,在奇数位的数加,偶数位的数减,求总的最大值 用贪心就可以做了 在波峰的时候加,波谷的时候减 代码如下: #include<cstdio>const int maxP = 150000;int P, val[maxP], ans;int

1.2 SQL注入之MYSQL语句语法

SQL注入之数据库概述 数据库就是一个存储数据的仓库,数据库是以一定方式存储在一起,能与多个用户共享,具有尽可能小的冗余,与应用程序彼此独立的数据集合。 关系型数据库 关系型数据库,存储的格式可以直观地反映实体间的关系,和常见的表格比较相似 关系型数据库中表与表之间有很多复杂的关联关系的 常见的关系型数据库有MySQL,Orcale,PostgreSQL , SQL Server等。