网页资讯视频图片知道文库贴吧地图采购
进入贴吧全吧搜索

 
 
 
日一二三四五六
       
       
       
       
       
       

签到排名:今日本吧第个签到,

本吧因你更精彩,明天继续来努力!

本吧签到人数:0

一键签到
成为超级会员,使用一键签到
一键签到
本月漏签0次!
0
成为超级会员,赠送8张补签卡
如何使用?
点击日历上漏签日期,即可进行补签。
连续签到:天  累计签到:天
0
超级会员单次开通12个月以上,赠送连续签到卡3张
使用连续签到卡
06月04日漏签0天
noip吧 关注:25,160贴子:642,095
  • 看贴

  • 图片

  • 吧主推荐

  • 视频

  • 游戏

  • 25回复贴,共1页
<<返回noip吧
>0< 加载中...

请教金明的预算问题。

  • 只看楼主
  • 收藏

  • 回复
  • 堕落·羽毛
  • NOI铜牌
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<stdio.h>#include<string.h>int v[61];int p[61];int q[61][2];int f[32001];int l[61];int main(){freopen("budget.in","r",stdin);//freopen("budget.out","w",stdout);int i,j;memset(q,0,sizeof(q));memset(v,0,sizeof(v));memset(p,0,sizeof(p));memset(f,0,sizeof(f));int N,m; //N表示总钱数,m表示物品个数scanf("%d %d",&N,&m);for(i=1;i<=m;i++){scanf("%d %d %d",&v[i],&p[i],&l[i]);// v表示价格,p表示重要度,q表示依附关系 if(l[i]) {if(q[l[i]][0]==0) q[l[i]][0]=i; else q[l[i]][1]=i;}} for(i=1;i<=m;i++){for(j=N;j>=1;j--){if(l[i]==0){if(j>=v[i]&&f[j-v[i]]+v[i]*p[i]>f[j]) f[j]=f[j-v[i]]+v[i]*p[i];if(j>=v[i]+v[q[i][0]]&&f[j-v[i]-v[q[i][0]]]+v[q[i][0]]*p[q[i][0]]>f[j]) f[j]=f[j-v[i]-v[q[i][0]]]+v[q[i][0]]*p[q[i][0]];if(j>=v[i]+v[q[i][1]]&&f[j-v[i]-v[q[i][1]]]+v[q[i][1]]*p[q[i][1]]>f[j]) f[j]=f[j-v[i]-v[q[i][1]]]+v[q[i][1]]*p[q[i][1]];if(j>=v[i]+v[q[i][1]]+v[q[i][2]]&&f[j-v[i]-v[q[i][0]]-v[q[i][1]]]+v[q[i][0]]*p[q[i][0]]+v[q[i][1]]*p[q[i][0]]>f[j]) f[j]=f[j-v[i]-v[q[i][0]]-v[q[i][1]]]+v[q[i][0]]*p[q[i][0]]+v[q[i][1]]*p[q[i][0]];}}}printf("%d",f[N]);return 0;}
/*状态转移方程f(j)=max{f[j], f[j-v[i]]+v[i]*p[i], f[j-v[i]-v[q[i][0]]+v[q[i][0]*p[q[i][0]], f[j-v[i]-v[q[i][1]]+v[q[i][1]*p[q[i][1]], f[j-v[i]-v[q[i][0]-v[q[i]][1]]+v[q[i][0]*p[q[i][0]]+v[q[i][1]]*p[q[i][0]] */
卤煮在OJ上的结果帮同样的数据在本地的结果不一样是什么情况……
并且只过了两个点……求教


  • 堕落·羽毛
  • NOI铜牌
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
#include<stdio.h>#include<string.h>int v[61];int p[61];int q[61][2];int f[32001];int l[61];int main(){freopen("budget.in","r",stdin);//freopen("budget.out","w",stdout);int i,j;int ans;memset(q,0,sizeof(q));memset(v,0,sizeof(v));memset(p,0,sizeof(p));memset(f,0,sizeof(f));int N,m; //N表示总钱数,m表示物品个数scanf("%d %d",&N,&m);for(i=1;i<=m;i++){scanf("%d %d %d",&v[i],&p[i],&l[i]);// v表示价格,p表示重要度,q表示依附关系 if(l[i]) {if(q[l[i]][0]==0) q[l[i]][0]=i; else q[l[i]][1]=i;}} for(i=1;i<=m;i++){if(l[i]==0){for(j=N;j>=1;j--){if(v[i]<=j&&f[j-v[i]]+v[i]*p[i]>f[j]) f[j]=f[j-v[i]]+v[i]*p[i];if(v[i]+v[q[i][0]]<=j&&f[j-v[i]-v[q[i][0]]]+v[i]*p[i]+v[q[i][0]]*p[q[i][0]]>f[j]) f[j]=f[j-v[i]-v[q[i][0]]]+v[i]*p[i]+v[q[i][0]]*p[q[i][0]];if(v[i]+v[q[i][1]]<=j&&f[j-v[i]-v[q[i][1]]]+v[i]*p[i]+v[q[i][1]]*p[q[i][1]]>f[j]) f[j]=f[j-v[i]-v[q[i][1]]]+v[i]*p[i]+v[q[i][1]]*p[q[i][1]];if(v[i]+v[q[i][1]]+v[q[i][2]]<=j&&f[j-v[i]-v[q[i][0]]-v[q[i][1]]]+v[i]*p[i]+v[q[i][0]]*p[q[i][0]]+v[q[i][1]]*p[q[i][0]]>f[j]) f[j]=f[j-v[i]-v[q[i][0]]-v[q[i][1]]]+v[i]*p[i]+v[q[i][0]]*p[q[i][0]]+v[q[i][1]]*p[q[i][0]];} }}ans=f[N];printf("%d",ans);return 0;}
改了一些蠢错误之后还是WA= =


2025-06-04 15:07:28
广告
  • 堕落·羽毛
  • NOI铜牌
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
/*状态转移方程f(j)=max{f[j], f[j-v[i]]+v[i]*p[i] f[j-v[i]-v[q[i][0]]]+v[i]*p[i]+v[q[i][0]]*p[q[i][0]], f[j-v[i]-v[q[i][1]]]+v[i]*p[i]+v[q[i][1]]*p[q[i][1]], f[j-v[i]-v[q[i][0]]-v[q[i][1]]]+v[i]*p[i]+v[q[i][0]]*p[q[i][0]]+v[q[i][1]]*p[q[i][1]] */
状态转移方程在此……错哪里了快崩溃了


  • 堕落·羽毛
  • NOI铜牌
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
跪求= =……


  • 堕落·羽毛
  • NOI铜牌
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
快崩溃了……有人会吗求……


  • unsigned_int
  • 省选酱油
    8
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
好凶残的格式啊


  • 连云小森森
  • 进队爷
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
卧槽……


  • ShallweGreen
  • 提高一等
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
要我的程序么?同C++,AC了的。


2025-06-04 15:01:28
广告
  • ShallweGreen
  • 提高一等
    7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
只过了两个点,嗯。。根据我的经验,你看看边界是不是对的,初始化对不对,状态转移方程是不是有疏漏之处,还有数据大小,是不是需要long long,遍历的时候是不是少遍历或多遍历了一个元素。等等等等,你那个格式我实在是招架不住。。。。。。


  • geng4512
  • 进队爷
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
代码毫无可读性啊……


  • YoEnky
  • 进队爷
    13
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
楼主我貌似很早就见过你来着


  • superman855
  • 提高二等
    6
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
学P的,也过了。。


  • FTD_Bug丶
  • NOI铜牌
    10
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
总觉得这题应该打记搜……


登录百度账号

扫二维码下载贴吧客户端

下载贴吧APP
看高清直播、视频!
  • 贴吧页面意见反馈
  • 违规贴吧举报反馈通道
  • 贴吧违规信息处理公示
  • 25回复贴,共1页
<<返回noip吧
分享到:
©2025 Baidu贴吧协议|隐私政策|吧主制度|意见反馈|网络谣言警示