欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

谈判专家(东方化改题+懒得看标程)

发布时间:2025/5/22 编程问答 36 豆豆
生活随笔 收集整理的这篇文章主要介绍了 谈判专家(东方化改题+懒得看标程) 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

您们这些出题的都是奆佬

而我只会xjb改题,连题解都懒得看

还把奆佬们的题改的面目全非

这是原题

题目背景

小A玩《枪声与钻石》玩得很高兴,于是憧憬自己也能成为谈判专家。

题目描述

这天晚上,他做了个梦:

一个犯人突然闯进银行,持枪负隅顽抗!他必须赶赴现场去解决这件事件。

对于一个心智不太正常的犯人来说,谈判专家的工作就是安抚他们,让他们冷静,再一顿嘴炮把他们

劝回来。

这当然考验的是嘴上功夫,为此,小A一共备用了n句话,每句话会使得劝回值+w,但是犯人的愤怒值

将会+k,且每句话只能讲一次。而当犯人的愤怒值大于等于max的时候,犯人就会失了智,此时你再

讲什么他也不会听了。

但是说话是要掌握时机的!每句话都有一个时间下限x和谈话时长l,表示你只有当时间t>=x的时候才

能说这句话,而这句话说完并且起作用时会过去l时间。在此期间,不能再多说其他的话,但是你可

以在一句话起作用后的瞬间接上几句话。

默认犯人最初的愤怒值为0,默认时间从0开始。

我们的目标,就是在犯人愤怒值小于max时的劝回值最大化,如果劝回值相同,则时间消耗越少越好。

输入格式

第一行两个正整数n,max。

接下来的n行,每行四个非负整数w,k,x,l。

所有变量的含义见上文。

输出格式

输出最优解的劝回值与此时时间。

 

我都说了会把这题改的面目全非的

题目背景

探女参加《探女探女快说话》玩得很高兴,于是憧憬自己能成为谈判专家。

题目描述

这天晚上,她做了个梦:

正邪突然闯进辉针城,想要下克上!她必须赶赴现场去解决这件事件。

对于心智不太正常的正邪来说(我老婆的心智怎么会不正常!),探女的工作就是安(du)抚(nai)她,

让她冷静,再一顿嘴(du)炮(nai)把她劝回来。

这当然考验的是嘴(du)上(nai)功夫,为此,探女一共备用了n句话,每句话会使得劝回值+w,但是正

邪的愤怒值将会+k,且每句话只能讲一次。而当正邪的愤怒值大于等于max的时候,她就会失了智,

此时探女再讲什么她也不会听了。

但是说话是要掌握时机的!每句话都有一个时间下限x和谈话时长l,表示探女只有当时间t>=x的时候

才能说这句话,而这句话说完并且起作用时会过去l时间。在此期间,不能再多说其他的话,但是探女

可以在一句话起作用后的瞬间接上几句话。

默认正邪最初的愤怒值为0,默认时间从0开始。

探女的目标,就是在正邪愤怒值小于max时的劝回值最大化,如果劝回值相同,则时间消耗越少越好。

但是由于月都科技不发达,探女请求你帮忙。

输入格式

第一行两个正整数n,max。

接下来的n行,每行四个非负整数w,k,x,l。

所有变量的含义见上文。

输出格式

输出最优解的劝回值与此时时间。

脑补场景:

探女:我女儿最乖了

正邪:下克上不可避!(愤怒值+max)

探女:我女儿最不乖了

正邪:下克上不可避!(愤怒值+max)

这难道是传说中的爱的深黑的切吗(不

 

然后这道题呢我写dp写着写着把自己都绕迷糊了

(最终也不知道自己写的是不是dp)

当然dalao的标程还是要发上来的

1 #include<cstdio> 2 #include<cmath> 3 #include<cstring> 4 #include<algorithm> 5 #include<queue> 6 #include<cctype> 7 using namespace std; 8 typedef long long ll; 9 inline int read(){ 10 int X=0,w=0;char ch=0; 11 while(!isdigit(ch)){w|=ch=='-';ch=getchar();} 12 while(isdigit(ch))X=(X<<3)+(X<<1)+(ch^48),ch=getchar(); 13 return w?-X:X; 14 } 15 struct node{ 16 ll w; 17 ll k; 18 ll x; 19 ll l; 20 }a[1001]; //啊这个结构体和我写的一模一样……连名字也一样叫node 21 bool cmp(node b,node c){ //排序√ 22 return b.x<c.x; 23 } 24 ll f[1001][50001]={0}; 25 int main(){ 26 freopen("negotiation.in","r",stdin);freopen("negotiation.out","w",stdout); 27 int n=read(); 28 ll nuqi=read(); 29 ll ans=0,maxn=0,maxx=0; 30 for(int i=1;i<=n;i++){ 31 a[i].w=read(); 32 a[i].k=read(); 33 a[i].x=read(); 34 a[i].l=read(); 35 ans+=a[i].l; 36 maxn=max(maxn,a[i].l+a[i].x); 37 maxx=max(maxx,a[i].x); 38 } 39 sort(a+1,a+n+1,cmp); 40 maxn=max(maxn,ans+maxx); 41 ll maxk=0,realt; 42 for(int i=1;i<=n;i++){ 43 for(int j=maxn;j>=a[i].x+a[i].l;j--){ 44 for(int k=nuqi;k>a[i].k;k--){ 45 f[k][j]=max(f[k][j],f[k-a[i].k][j-a[i].l]+a[i].w); 46 } 47 if(maxk<f[nuqi][j]||(maxk==f[nuqi][j]&&realt>j)){ 48 realt=j; 49 maxk=f[nuqi][j]; 50 } 51 } 52 } 53 printf("%lld %lld\n",maxk,realt); 54 return 0; 55 }

诶等等这是我什么时候写的注释……算了不管了

转载于:https://www.cnblogs.com/aristocrat/p/8465978.html

总结

以上是生活随笔为你收集整理的谈判专家(东方化改题+懒得看标程)的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。