自己遇到的几种非知识点的错误

16 篇文章 0 订阅

1.

学会宏定义:

#define maxx 5009//否则会超时(最短路时遇到)
int u[maxx],v[maxx],w[maxx];
int first[maxx],next[maxx];//next有时无法定义,在打网络赛时遇到过,有的oj过不了
int dp[maxx],xia[maxx];


2.感觉最近有些无语(以前没错的地方也出错了)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5137

大意:有n个点m条边,去掉其中一个点(除了1和n)使得求出的最短路径最长;

不知道为啥:以前用邻接表存无向图的方法居然不管用(一直出错)。

以前用的方法:

 for(int i=1; i<=m*2; i+=2)
        {
            int a,b,c;
            scanf("%d %d %d",&a,&b,&c);
            u[i]=v[i+1]=a;
            v[i]=u[i+1]=b;
            w[i]=w[i+1]=c;
            nex[i]=first[u[i]];
            first[u[i]]=i;
            nex[i+1]=first[u[i+1]];
            first[u[i+1]]=i+1;
        }
后来经同学修改:

void set_edge(int a,int b,int c)
{
    edge[len].v=b,edge[len].w=c,edge[len].next=first[a];
    first[a]=len++;
}

for(int i=1; i<=m; i++)
        {
            int a,b,c;
            scanf("%d %d %d",&a,&b,&c);
            set_edge(a,b,c);
            set_edge(b,a,c);
        }
这样一改就对了,表示很无语,如果有谁知道为啥,请留言



以后会不断添加,如果有人写过类似的,请留言(借鉴一下),谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 好的,那我就用中文回答你的问题。 学习有很多方法,那我就具体介绍一下几种常见的方法。 1. 自学:自学是一种很好的学习方式,因为你可以根据自己的兴趣和时间来安排学习内容和进度。你可以使用各种资源,比如教程、电子书、视频教程等,来帮助你学习。 2. 参加培训课程:如果你希望有一个专业的老师来指导你的学习,那么参加培训课程就是一个很好的选择。你可以在线或者线下参加各种培训课程,比如大学课程、职业培训课程等。 3. 读书:读书是一种很好的学习方式,因为它可以帮助你提升阅读能力和理解能力,并且你可以从书中获得丰富的知识。 4. 加入学习小组:加入学习小组可以帮助你与其他人一起学习,交流想法,并且可以帮助你更好地理解学习内容。 总的来说,学习的方法有很多种,你可以根据自己的喜好和需要来选择适合自己的学习方式。 ### 回答2: 学习需要具体一点,就是要有明确的目标和计划。首先,确定你想学习的具体内容和目标,这可以是一门学科、一项技能或是一个项目。然后,制定一个学习计划,包括学习的时长、频率和学习的方式。 学习的时长可以根据你的时间安排来确定,建议每天安排一定的学习时间,保持连续性,避免间断。学习频率可以根据你的学习节奏来调整,有些人可能需要每天学习,有些人可能更适合每周学习几次。重要的是保持一定的规律和坚持。 学习的方式可以灵活选择,可以通过阅读书籍、观看视频教程、参加课程或是与他人讨论学习。选择适合自己的学习方式,提高学习效率和兴趣。 另外,还可以尝试一些学习技巧,如拆分知识点,制定学习计划,做好总结和复习,以及积极参与实践等。在学习过程中,可以及时记录学习笔记,帮助巩固记忆和理解。 与此同时,保持积极的学习态度也常重要。学习需要持之以恒,遇到困难时要坚持不懈,相信自己能够克服挑战,取得进步。 总之,具体一点学习就是要明确目标和计划,保持规律和持续学习,选择适合自己的学习方式,利用一些学习技巧,坚持不懈并保持积极的学习态度。这样才能以最有效的方式进行学习,取得好的学习成果。 ### 回答3: 学习的具体方法因人而异,但以下是几个通用的学习方法,可以帮助你更具体地学习: 1. 制定学习计划:首先,明确你的学习目标,并制定一个详细的学习计划。将目标分解成小的、可行的步骤,并设定适当的时间表。 2. 选择适合的学习材料:根据学习的主题,选择适合的学习材料,如教科书、参考书籍、网络资源等。确保所选材料内容能够帮助你达到学习目标。 3. 深入理解:仅仅死记硬背知识可能效果不佳。尝试深入理解学习内容,通过思考、讨论或与他人交流,以加深对知识的理解和应用能力。 4. 制定记忆技巧:利用各种记忆技巧帮助你记住学习内容,如制作概念地图、使用关键词等。同时,通过复习和巩固加深记忆。 5. 练习和实践:在学习过程中不断进行练习和实践,将所学知识应用于实际情境中。通过练习和实践,将知识转化为技能和经验。 6. 寻求反馈:及时寻求他人的反馈和建议,对学习过程中的困惑和错误进行纠正。通过他人的观点和经验,你可以更好地改进学习方法和提高学习效果。 7. 坚持学习:学习需要坚持和耐心。保持积极的学习态度和动力,及时调整学习计划,克服困难和挑战。 总之,具体学习方法应根据个体差异和学习目标而定。不断尝试、调整和改进学习方法,才能更高效地学习。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值