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

竹溪网站建设网络顾问

竹溪网站建设,网络顾问,码迷seo,西安专业做网站建设1.最优会场调度 #include <bits/stdc.h> using namespace std; const int N1e55; typedef pair<int,int> PII; PII p[N]; priority_queue<int,vector<int>,greater<int>> q; //最小堆 存储最早结束的会场的结束时间 int n; //其实这个题可以理…

1.最优会场调度

#include <bits/stdc++.h>
using namespace std;
const int N=1e5+5;
typedef pair<int,int> PII;
PII p[N];
priority_queue<int,vector<int>,greater<int>> q;  //最小堆 存储最早结束的会场的结束时间 
int n;
//其实这个题可以理解为同一个会场在同一个时间内只能进行一个活动 
//现在问所有活动都要正常进行 最少需要几个会场 
int main(){cin>>n;for(int i=0;i<n;i++) cin>>p[i].first>>p[i].second;sort(p,p+n);//默认按照所有活动的开始时间排序 q.push(p[0].second); //第一个活动一定不用开新会场 //贪心思想:每次直接与最早结束的会场的结束时间相比 只要能用 就用该会场 不能用就代表其他的也会场肯定不能用 直接开一个新会场for(int i=1;i<n;i++){if(!q.empty()&&p[i].first>=q.top()) q.pop();  // 如果最早结束的会场可以容纳当前活动,则复用该会场q.push(p[i].second);}cout<<q.size()<<endl;return 0;
} 

2.最优合并

#include <bits/stdc++.h>
using namespace std; 
priority_queue<int> pmax; //大根堆
priority_queue<int,vector<int>,greater<int> > pmin; //小根堆
int n,x;int getmin(){int sum=0;while(pmin.size()>1){int a=pmin.top();pmin.pop(); int b=pmin.top();pmin.pop();//贪心思想:每次取出堆中的两个值 根据堆的性质 取出的值必定为最小的两个值sum+=a+b;pmin.push(a+b); //计算结果再加入堆中}return sum;
}
int getmax(){int sum=0; //与小根堆计算思想相同while(pmax.size()>1){int a=pmax.top();pmax.pop();int b=pmax.top();pmax.pop();sum+=a+b;pmax.push(a+b);}return sum;
}int main(){cin>>n;for(int i=0;i<n;i++){cin>>x;pmin.push(x); //将每个值都在两个堆中各入堆一次pmax.push(x);}cout<<getmax()<<" "<<getmin()<<endl;return 0;
}

3.程序存储问题

#include <iostream>
#include <algorithm>
using namespace std;
int n,m,sum,cnt,a[100005];
int main() {cin>>n>>m;for(int i=0;i<n;i++) cin>>a[i];sort(a,a+n);//贪心思想:只要还没达到临界值 就一直加 达到就直接break掉 程序结束for(int i=0;i<n;i++){sum+=a[i];if(sum<=m) cnt++; else break;}cout<<cnt<<endl;return 0;
}

4.最优服务次序问题

#include <iostream>
#include <algorithm>
using namespace std;
const int N=1e5+5;
typedef long long LL;
int n,a[N];
int main(){cin>>n;for(int i=0;i<n;i++) cin>>a[i];sort(a,a+n);//贪心思想:后面的每一个人都要把他排在他前面的所有时间各等一遍 所以前面的人越短越好 所以直接让每个位置都取 能取到的最短 即直接升序排序LL time=0;for(int i=0;i<n;i++) time+=(n-i)*(LL)a[i]; //每一个时间被等待了n-i次double res=time/(double)n;printf("%.2lf",res);return 0;
}

5.汽车加油问题

#include <iostream>
using namespace std;
const int N=1e5+5;
int n,k,sum,cnt,a[N];
int main(){cin>>n>>k;for(int i=0;i<=k;i++) {cin>>a[i];if(a[i]>=n){cout<<"No Solution";return 0;}}for(int i=0;i<=k;i++){if(sum+a[i]>n){ //贪心思想:尽可能多走 直到无法走 就选择加油cnt++;sum=0;}sum+=a[i];}cout<<cnt;return 0;
}

6.最优分解问题

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
int n,index,a[100001];
//解题关键点为要是自然数乘积最大 应使其2 3 5 7 小数尽可能多
//eg 5=2+3 但x*5一定小于x*2*3   即若a+b=定值,a-b的绝对值越小,ab值越大 
//所以只需要尽可能找能除尽的小数即可 vector<int> res={1}; //高精度模板 
vector<int> mul(vector<int> A,int b){vector<int> C;int t=0;for(int i=0;i<A.size()||t;i++){if(i<A.size()) t+=A[i]*b;C.push_back(t%10);t/=10;}while(C.size()>1&&C.back()==0) C.pop_back();return C;
}int main(){cin>>n;//初始化第一次分解 //只要n>3 结果中就一定会有2 a[index++]=2;n-=2; //利用循环分解掉nint i=3;while(n>a[index-1]){a[index]=i++;n-=a[index];index++;} //贪心思想:尽量取小值 在不重复的情况下 尽量把多出来的值 分配给尽可能多的数//将剩下的部分x 分为x个一(因为平均分配给每一个比直接分配个某个数+x 要大 上面已证明过) //从大的数开始加 因为从小数开始会重复 for (int i=index-1;n>0;i--) {a[i]++;if(i==0) i=index; // 循环分配n--;}//后几组测试数据位数过大 所以使用高精度转换for(int i=0;i<index;i++)  res=mul(res,a[i]); for(int i=res.size()-1;i>=0;i--) cout<<res[i];return 0;
} 

http://www.yayakq.cn/news/962426/

相关文章:

  • 禄丰县住房和城乡建设局网站注册网站多少钱
  • 长春高铁建站wordpress怎么提速
  • 网站页面架构怎么显示wordpress里元素的源代码
  • 湛江网站制作建设小网站如何做密码找回
  • 优化稳定网站排名网站建设等级定级
  • 免费网站如何做推广seo网络推广是干嘛的
  • 余姚建设公司网站贵阳网站建设搜q479185700
  • 为什么没有人做搜索网站了wordpress只能本地访问
  • 东莞建设培训中心网站服务器搭建网站打不开
  • 网站设计权限连锁加盟网站制作
  • 电脑网站设计公司做网站制作课程总结
  • 北京网站制作多少钱微网站建设网站
  • 扁平化购物网站设计做网站的的步骤怎么写
  • 腾讯云ADM怎么做网站网站建设重庆公司
  • wordpress 下载模板站飞阳建设网站
  • 田园官方网站建设网站建设中页面模板下载
  • 网站建设 公司 广州网站制作ppt
  • 淘客网站+wordpressseo怎么优化关键词排名培训
  • 常州做网站建设的公司外贸营销网站制作
  • 站长工具seo综合查询工具网站模板后台怎么做
  • 网站建设怎么付款中国企业500强排名2021
  • 长沙网站建设排名深圳市年检在哪个网站做
  • 格尔木有做网站的吗没有注册公司可以建网站吗
  • 白山做网站wordpress财付通
  • 切片工具做网站怎么做网络广告设计制作
  • 欣宝儿在什么网站做直播wordpress站点标题看不到
  • 营销型网站的例子wordpress图片上传自动命名
  • 企业网站推广方案设计wordpress 网站为什么打不开
  • 中国建设银行招聘网站报名系统桂林黄页大全桂林本地信息网
  • 建设网站的网站安全有哪些好的ps素材网站