草稿

#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]} \\=

1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 、4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、下载 4使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合;、 4下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
Redis是一种内存数据库,可以用于实现草稿箱功能。下面是一个使用Redis实现草稿箱的简单示例: 1. 连接到Redis:首先,你需要通过Java Redis客户端连接到Redis数据库。例如,可以使用Jedis或Lettuce等流行的Redis客户端库。 2. 保存草稿:当用户选择保存内容为草稿时,将草稿的内容存储在Redis中。可以使用哈希表(Hash)来表示每个草稿,其中键是草稿的唯一标识符,而字段和值可以表示草稿的各个属性,如标题、内容和创建时间等。 ```java Jedis jedis = new Jedis("localhost", 6379); String draftId = "draft:123"; Map<String, String> draftData = new HashMap<>(); draftData.put("title", "My Draft"); draftData.put("content", "This is my draft content"); draftData.put("created", "2021-10-01"); jedis.hmset(draftId, draftData); ``` 3. 获取草稿:当用户需要编辑草稿时,通过草稿的唯一标识符从Redis中获取草稿的详细信息。 ```java Map<String, String> draftData = jedis.hgetAll(draftId); String title = draftData.get("title"); String content = draftData.get("content"); // 显示在编辑界面供用户修改 ``` 4. 更新草稿:当用户对草稿进行修改后,更新Redis中对应草稿的内容。 ```java Map<String, String> updatedData = new HashMap<>(); updatedData.put("title", "Updated Draft"); updatedData.put("content", "This is the updated draft content"); jedis.hmset(draftId, updatedData); ``` 5. 删除草稿:如果用户决定删除草稿,从Redis中删除对应的草稿数据。 ```java jedis.del(draftId); ``` 需要注意的是,上述示例只提供了基本的操作,实际应用中可能还需要考虑并发访问、草稿列表的管理、过期时间设置等其他方面的功能。此外,你还可以根据具体需求添加其他字段或操作来扩展草稿功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值