码迷,mamicode.com
首页 > 其他好文 > 详细

NOIP考前临时抱佛脚(算是考前日记吧)

时间:2017-09-24 19:18:21      阅读:179      评论:0      收藏:0      [点我收藏+]

标签:eof   天才   als   题目   结果   void   class   数论   pac   

谨以此祭奠我即将爆炸的NOIP2017.

$Mingqi\_H\ \ 2017.09.24$

Day -47

突然发现半年来自己从来没有写对过SPFA,最近几天才发现自己的板子一直是错的...赶紧找个例题修一下板子:

 1 #include<cstring>
 2 #include<cstdio>
 3 #include<queue>
 4 using namespace std;
 5 const int maxn = 1e6+10;
 6 struct Edge{
 7     int u,v,w;
 8 }edge[maxn*2];
 9 int head[maxn];
10 int cnt;
11 int dis[maxn],vis[maxn];
12 int m,n;
13 inline void add(int u,int v,int w)
14 {
15     edge[++cnt].u=head[u];
16     edge[cnt].v=v;
17     edge[cnt].w=w;
18     head[u]=cnt;
19     return;
20 }
21 void spfa(int p)
22 {
23     memset(dis,0x3f,sizeof(dis));
24     memset(vis,0,sizeof(vis));
25     int cur,nxt,v;
26     queue<int> q;
27     while(!q.empty())
28         q.pop();
29     q.push(p),vis[p]=true;
30     dis[p]=0;
31     while(!q.empty())
32     {
33         cur=q.front(),q.pop(),vis[cur]=false;
34         for(int i=head[cur];i;i=edge[i].u)
35         {
36             v=edge[i].v;
37             if(dis[p]+edge[v].w<dis[v])
38             {
39                 dis[v]=dis[p]+edge[v].w;
40                 q.push(v),vis[v]=true;
41             }
42         }
43     }
44     for(int i=1;i<=m;i++)
45         printf("%d ",dis[i]);
46     printf("\n");
47     return;
48 }
49 int main()
50 {
51     int u,v,w;
52     scanf("%d%d",&m,&n);
53     for(int i=0;i<n;i++)
54     {
55         scanf("%d%d%d",&u,&v,&w);
56         add(u,v,w);
57     }
58     for(int i=1;i<=m;i++)
59         spfa(i);
60 }

问题:学了这么久了都不会建邻接链表,SPFA加的是点,不是边,链表链表,head数组和edge数组要连起来,第一行是$edge[++cnt].u=head[u];$最后一行是$head[u]=cnt;$永远记住!!!这不是一年前了!!!

你基础不牢啊,吃枣药丸,吃枣药丸,之前还有200多天的时候,你跟现在的水平差不多啊。这100多天你干什么了?!之前不是经常拿到$Rank\ 1$吗?那个你呢?你模拟赛两次四天12道题,分数加起来还没人家一天3道题的多,你会什么啊?会数论吗?之前一直认为自己能拿到$Day2\ T1$的100分,模拟赛那么简单的一道数论题你可是一分都没拿到啊!!!该好好反思一下了!!你不会DP,也就算了,可是你连暴力也不会打,这就说不过去了吧,三四个月前建立的分类,结果到现在也没整理几个题啊,别人的Blogs都有几百道题目了啊!你总共过了有400题吗?!去重之前也仅仅有386道啊!!!还有100多道OJ上的题目,你这一年多干了些什么!

还是从板子开始吧,不能温水煮青蛙了,不能这样下去了。

NOIP考前临时抱佛脚(算是考前日记吧)

标签:eof   天才   als   题目   结果   void   class   数论   pac   

原文地址:http://www.cnblogs.com/TheRoadToAu/p/7588008.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!