草稿

本文探讨了使用线性规划解决任务调度问题的方法,通过构建数学模型,运用单纯形算法求解最优解,实现资源的有效分配。代码示例展示了如何初始化问题参数,设置约束条件,并迭代求解直到达到最优解。
部署运行你感兴趣的模型镜像
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;

int n,T,R,m;
struct node{
	int p,s,t,id;
	bool operator<(const node e)const{
		return s<e.s;
	}
}q[1010];
double a[4010][1010],eps=1e-5;
double b[4010][1010];
int ans,an[1010],last[1010];
int id[2010];

void pivot(int x,int y){
	swap(id[n+x],id[y]);
	double temp=a[x][y];
	for(int i=0;i<=n;i++) a[x][i]/=temp;
	a[x][y]=1/temp;
	for(int i=0;i<=m;i++) if(x!=i){
		temp=a[i][y];a[i][y]=0;
		for(int j=0;j<=n;j++) a[i][j]-=temp*a[x][j];
	}
}

void simplex(){
	int x,y;
	double mmin;
	while(1){
		x=y=0;
		for(int i=1;i<=n;i++) if(a[0][i]>eps) {y=i;break;}
		if(!y) break;
		mmin=(double)1e18;
		for(int i=1;i<=m;i++) if(a[i][y]>eps && a[i][0]/a[i][y]<mmin) {x=i;mmin=a[i][0]/a[i][y];}
		pivot(x,y);
	}
	return ;
}

void dfs(int x){
	for(int i=0;i<=m;i++) 
		for(int j=0;j<=n;j++) 
			a[i][j]=b[i][j];
	simplex();
	if(-a[0][0]<=ans) return ;
	if(x==n+1){
		ans=(int)-a[0][0];
		for(int i=1;i<=m;i++) an[id[n+i]]=(int)a[i][0];
		return ;
	}
	m++;b[m][x]=1;b[m][0]=0;
	dfs(x+1);
	b[m][x]=-1;b[m][0]=-1;
	dfs(x+1);m--;
}

int main(){
	scanf("%d %d %d\n",&n,&T,&R);ans=R;
	for(int i=1;i<=n;i++) scanf("%d %d %d",&q[i].s,&q[i].p,&q[i].t),q[i].id=i;
	sort(q+1,q+1+n);
	a[0][0]=-R;
	for(int i=1;i<=n;i++) a[0][i]=q[i].p;
	for(int i=1;i<=n;i++){
		a[i][i]=q[i].s;
		for(int j=1;j<i;j++) a[i][j]=-q[j].p;
		a[i][0]=R;
	}
	for(int i=1;i<=n;i++) id[i]=i;
	for(int i=1;i<=n;i++) a[n+1][i]=q[i].t;a[n+1][0]=T;
	for(int i=1;i<=n;i++) a[n+1+i][i]=1,a[n+1+i][0]=1;
	m=n+n+1;
	for(int i=0;i<=m;i++)
		for(int j=0;j<=n;j++) b[i][j]=a[i][j];
	dfs(1);
	printf("%d\n",ans);
	for(int i=1;i<=n;i++) if(an[i]) last[++last[0]]=q[i].id;
	for(int i=1;i<=last[0];i++) printf("%d ",last[i]);
}

\sum_{i=1}^{A}P^i[m],(A<=m) \\=\frac{P^{A+1}}{P-1}[m]

Ans(k)=\sum_{i=1}^{n}a(i)^k

F(x)=\sum_{i=1}^n\sum_{j=0}a_i^j*x^j \\=\sum_{i=1}^n\frac{1}{1-a_ix} \\=n-x\sum_{i=1}^n \frac{-a_i}{1-ai_x} \\=n-x\sum_{i=1}^n [\ln(1-a_ix)]' \\=n-x(\ln(\prod_{i=1}^n(1-a_ix))) \\=n-x(\frac{1}{\prod_{i=1}^n(1-a_ix)} \times (\prod_{i=1}^n(1-a_ix)')

\sum_{i=0}^n [\frac{a*i}{c}]=\frac{n*(n+1)}{2}[\frac{a}{c}]

\sum_{a=1}^n\sum_{b=1}^n\sum_{c=1}^n\sum_{d=1}^nA_aB_bC_cD_dE_{\gcd(a,b)}F_{\gcd(b,c)}G_{\gcd(c,d)}H_{gcd(a,d)} \\=\sum_{e=1}^n\sum_{f=1}^n\sum_{g=1}^n\sum_{h=1}^nE_eF_fG_gH_h\sum_{a=1}^{\frac{n}{[e,h]}}\sum_{b=1}^{\frac{n}{[e,f]}}\sum_{c=1}^{\frac{n}{[f,g]}}\sum_{d=1}^{\frac{n}{[g,h]}}A_{a*[e,h]}B_{b*[e,f]}C_{c*[f,g]}D_{d*[g,h]} \\=

您可能感兴趣的与本文相关的镜像

ACE-Step

ACE-Step

音乐合成
ACE-Step

ACE-Step是由中国团队阶跃星辰(StepFun)与ACE Studio联手打造的开源音乐生成模型。 它拥有3.5B参数量,支持快速高质量生成、强可控性和易于拓展的特点。 最厉害的是,它可以生成多种语言的歌曲,包括但不限于中文、英文、日文等19种语言

内容概要:本文介绍了ENVI Deep Learning V1.0的操作教程,重点讲解了如何利用ENVI软件进行深度学习模型的训练与应用,以实现遥感图像中特定目标(如集装箱)的自动提取。教程涵盖了从数据准备、标签图像创建、模型初始化与训练,到执行分类及结果优化的完整流程,并介绍了精度评价与通过ENVI Modeler实现一键化建模的方法。系统基于TensorFlow框架,采用ENVINet5(U-Net变体)架构,支持通过点、线、面ROI或分类图生成标签数据,适用于多/高光谱影像的单一类别特征提取。; 适合人群:具备遥感图像处理基础,熟悉ENVI软件操作,从事地理信息、测绘、环境监测等相关领域的技术人员或研究人员,尤其是希望将深度学习技术应用于遥感目标识别的初学者与实践者。; 使用场景及目标:①在遥感影像中自动识别和提取特定地物目标(如车辆、建筑、道路、集装箱等);②掌握ENVI环境下深度学习模型的训练流程与关键参数设置(如Patch Size、Epochs、Class Weight等);③通过模型调优与结果反馈提升分类精度,实现高效自动化信息提取。; 阅读建议:建议结合实际遥感项目边学边练,重点关注标签数据制作、模型参数配置与结果后处理环节,充分利用ENVI Modeler进行自动化建模与参数优化,同时注意软硬件环境(特别是NVIDIA GPU)的配置要求以保障训练效率。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值