当前位置: 首页 > news >正文

网站开发合同适用印花税省好多会员app

网站开发合同适用印花税,省好多会员app,提升网站建设品质价位,网站建设中网页代码传送门 •题意 有n个电视节目,每个节目有开始时间和结束时间。 现在要租电视来看节目,租一台电视花x元,电费每分钟y元。 当节目时间冲突时,要另租电视来看节目 例如节目a播出时间是[2,8],节目b播出时间是[4,7]那么节目a需要用一台…

传送门

题意

有n个电视节目,每个节目有开始时间和结束时间。

现在要租电视来看节目,租一台电视花x元,电费每分钟y元。

当节目时间冲突时,要另租电视来看节目

例如节目a播出时间是[2,8],节目b播出时间是[4,7]那么节目a需要用一台电视,节目b需要用另一台电视

现在要看完所有的节目,问租电视+电费的最小花费

 

题解

按播出时间从早到晚排序,贪心选择大于此节目的结束时间的节目中最早开始播放的节目,设其间隔时间为d

(后面解释贪心算法的正确性,大雾)

如果找到的话

①若dy<x,即等待间隔花的电费小于另租一个电视的花费时,可以用这一个看下一个节目

②若dy>=x,即等待间隔花的电费大于另租一个电视的花费时,那就另租一个电视看下一个节目比较划算

如果没找到的话,也就是在此节目播放期间下一个节目开始播放,那肯定是要另租一个电视来看

现在解释为什么要选择大于此节目的结束时间的节目中最早开始播放的节目

假设有5个节目,开始时间为si,结束时间为ti

其分组可以有这两种

①    1                                      ② 1、3

  2、3           2、4、5

  4、5

第一种是按照优先选择大于此节目的结束时间的节目中最早开始播放的节目,    第二种是尽可能把可以安排在同一台电视上的节目安排好

需要租3台电视,每一台电视的花费为  需要租2台电视,每一台电视的花费为

1、x+(t1-s1)*y 1、x+(t3-s1)*y

2、x+(t3-s2)*y 2、x+(t5-s3)*y

3、x+(t5-s4)*y

总花费1-总花费2=x-(s4-t1)*y

由于在方法一中,节目2和4是在不同电视上的,即(s4-t2)*y>x,所以(s4-t1)*y>x,也就是方法一花费更少

 

•代码

先按上述思路写了个vector的代码,然后TLE10,然后不知道该怎么改了(还不是因为太菜惹

#include<bits/stdc++.h>
using namespace std;
#define ll long long
#define inf 0x3f3f3f3f3f3f3f3f3f
const int mod=1e9+7;
const int maxn=1e5+5;
ll ans;
struct action
{ll t1,t2;
}a[maxn];
bool cmp(action x,action y)
{return x.t1<y.t1;
}int main()
{int n,x,y;cin>>n>>x>>y;for(int i=0;i<n;i++)cin>>a[i].t1>>a[i].t2;sort(a,a+n,cmp);vector<action> pos[maxn];pos[0].push_back(a[0]);int num=1;ans=(x+(a[0].t2-a[0].t1)*y)%mod;ll flag1;int flag2;int tail;for(int i=1;i<n;i++){flag1=inf;flag2=-1;for(int j=0;j<num;j++)//和每一个电视的最后一个节目比较 以得大于此节目的结束时间的节目中最早开始播放的节目,
        {tail=pos[j].size()-1;if(a[i].t1>pos[j][tail].t2&&a[i].t1-pos[j][tail].t2<flag1){flag1=a[i].t1-pos[j][tail].t2;flag2=j;}}if(flag1!=inf){if(flag1*y<x)//找到 并且dy<x 加在后面
            {tail=pos[flag2].size()-1;pos[flag2].push_back(a[i]);ans=(ans+((a[i].t2-pos[flag2][tail].t2)*y))%mod;continue;}}pos[num++].push_back(a[i]);ans=(ans+(x+(a[i].t2-a[i].t1)*y))%mod;}cout<<ans%mod<<endl;
}
View Code

就借鉴了大佬们的博客(https://www.cnblogs.com/Paul-Guderian/p/10014571.html),发现用的multiset,再去补一下STL惹

#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int maxn=1e5+5;
const int mod=1e9+7;
ll ans;
struct action
{ll t1,t2;
}a[maxn];
bool cmp(action x,action y)
{return x.t1<y.t1;
}int main()
{int n,x,y;cin>>n>>x>>y;for(int i=0;i<n;i++){cin>>a[i].t1>>a[i].t2;ans=(ans%mod+(a[i].t2-a[i].t1)*y%mod)%mod;}sort(a,a+n,cmp);multiset<int> Set;multiset<int>::iterator it;for(int i=0;i<n;i++){it=Set.lower_bound(a[i].t1);if(it==Set.begin()||(a[i].t1-*(--it))*y>=x)//新租一个,--it是因为lower_bound是找大于等于这个数的第一个,--就是小于这个数的最大的
        {ans=(ans+x)%mod;Set.insert(a[i].t2);}else{ans=(ans+(a[i].t1-*it)*y)%mod;Set.erase(it);Set.insert(a[i].t2);}}cout<<ans%mod<<endl;
}
View Code

 

转载于:https://www.cnblogs.com/MMMinoz/p/11137119.html

http://www.lbrq.cn/news/2676061.html

相关文章:

  • 我公司网站开发技术优势谷歌google官网下载
  • 网站建设留言板怎么做百度品牌广告是什么
  • 手机访问pc网站自动跳转手机端网站代码产品推广文章
  • 网站建设什么是开发实施实施seo入门教程视频
  • APP网站建设什么用处太原seo网站排名
  • 厦门建设网站企业网络销售挣钱吗
  • 万江网站建设深圳网站seo外包公司哪家好
  • 两学一做网站注册竞价托管代运营公司
  • 做网站 做app网址导航浏览器下载
  • wordpress调用第一张图片不显示搜索引擎优化策略应该包括
  • wordpress语言选项河南优化网站
  • 辽阳市网站建设今天新闻联播
  • 网站如何做关健词收录it菜鸡网seo
  • 优惠活动制作网站手游代理加盟哪个平台最强大
  • centos7怎么做网站服务器优化seo教程
  • 定制型网站建设服务网站制作400哪家好
  • 巩义做网站优化免费软文网站
  • 旅游网网站建设设计网站的公司
  • 景安网站备案要多久兰州网络推广关键词优化
  • 网站轮播效果怎么做百度首页排名优化平台
  • 安溪学校网站建设百合seo培训
  • 在线做头像的网站今日腾讯新闻最新消息
  • 网站怎么做更新seo 最新
  • 福建建设注册中心网站软文代写自助发稿平台
  • 长沙营销型网站建设制作大学生网络营销策划书
  • 西宁做手机网站的公司唐山百度seo公司
  • 做dw网站图片怎么下载九易建网站的建站流程
  • 企业官网设计现状seo在线培训课程
  • 贵阳网站排名优化免费广告投放网站
  • 南京便宜网站建设中文域名交易网站
  • 企业级高性能WEB服务器Nginx
  • 数据大集网:精准获客新引擎,助力中小企业突破推广困局
  • 新人该如何将不同的HTML、CSS、Javascript等文件转化为Vue3文件架构
  • AR 智能眼镜:从入门到未来
  • 缓存的三大问题分析与解决
  • 使用Blender可视化多传感器坐标系转换