双向链表 UVa12657(未完成)TLE&&WA

  1 #include <iostream>
  2 #include <cstring>
  3 #include <cstdlib>
  4 #include <cstdio>
  5
  6 using namespace std;
  7
  8 struct Node
  9 {
 10     int date;
 11     Node* next;
 12     Node* pre;
 13     Node(){;pre=NULL;next=NULL;}
 14 };
 15
 16 inline int Scan()
 17 {
 18     char ch;
 19     int a = 0;
 20     while((ch = getchar())>=‘0‘ && ch<=‘9‘)
 21         a = a*10+ch-‘0‘;
 22     return a;
 23 }
 24
 25 int main()
 26 {
 27     Node* arr[200000];
 28     int num=1;
 29     int n,m;
 30     Node* tmp=new Node();
 31     Node* head=new Node();
 32     Node* last=new Node();
 33     while(scanf("%d%d",&n,&m)!=EOF)
 34     {
 35         getchar();
 36         int num4=0;
 37         head->next=last;
 38         last->pre=head;
 39         for(int i=1;i<=n;i++)
 40         {
 41             arr[i]=last;
 42             last->date=i;
 43             last->next=new Node();
 44             last->next->pre=last;
 45             last=last->next;
 46             last->next=NULL;
 47         }
 48         int order;
 49         int a,b;
 50         for(int i=0;i<m;i++)
 51         {
 52             order=Scan();
 53             if(order==3)
 54             {
 55                 a=Scan();
 56                 b=Scan();
 57                 Node* ta=arr[a];
 58                 Node* tb=arr[b];
 59                 ta->pre->next=tb;
 60                 tb->pre->next=ta;
 61                 ta->next->pre=tb;
 62                 tb->next->pre=ta;
 63                 tmp=ta->pre;
 64                 ta->pre=tb->pre;
 65                 tb->pre=tmp;
 66                 tmp=ta->next;
 67                 ta->next=tb->next;
 68                 tb->next=tmp;
 69             }
 70             else if(order==2)
 71             {
 72                 a=Scan();
 73                 b=Scan();
 74                 Node* ta=arr[a];
 75                 Node* tb=arr[b];
 76                 ta->pre->next=ta->next;
 77                 ta->next->pre=ta->pre;
 78                 ta->next=tb->next;
 79                 tb->next->pre=ta;
 80                 tb->next=ta;
 81                 ta->pre=tb;
 82             }
 83             else if(order==1)
 84             {
 85                 a=Scan();
 86                 b=Scan();
 87                 Node* ta=arr[a];
 88                 Node* tb=arr[b];
 89                 ta->pre->next=ta->next;
 90                 ta->next->pre=ta->pre;
 91                 ta->next=tb;
 92                 ta->pre=tb->pre;
 93                 tb->pre->next=ta;
 94                 tb->pre=ta;
 95             }
 96             else if(order==4)
 97             {
 98                 num4++;
 99             }
100         }
101         long long reans=0;
102         if(num4%2==0)
103         {
104             Node* ans =head->next;
105             int flag=1;
106             while(ans->next!=NULL)
107             {
108                 if(flag)
109                 {
110                     reans+=ans->date;
111                 }
112                 flag=1-flag;
113                 ans=ans->next;
114             }
115         }
116         else
117         {
118             Node* ans =last->pre;
119             int flag=1;
120             while(ans->pre!=NULL)
121             {
122                 if(flag)
123                 {
124                     reans+=ans->date;
125                 }
126                 flag=1-flag;
127                 ans=ans->pre;
128             }
129         }
130         printf("Case %d: %I64d\n",num,reans);
131        // cout<<"Case "<<num<<": "<<reans<<endl;
132         num++;
133     }
134     return 0;
135 }

时间: 2024-08-09 16:05:00

双向链表 UVa12657(未完成)TLE&&WA的相关文章

bzoj:1941: [Sdoi2010]Hide and Seek

1941: [Sdoi2010]Hide and Seek Time Limit: 16 Sec  Memory Limit: 162 MBSubmit: 531  Solved: 295[Submit][Status][Discuss] Description 小猪iPig在PKU刚上完了无聊的猪性代数课,天资聪慧的iPig被这门对他来说无比简单的课弄得非常寂寞,为了消除寂寞感,他决定和他的好朋友giPi(鸡皮)玩一个更加寂寞的游戏---捉迷藏. 但是,他们觉得,玩普通的捉迷藏没什么意思,还是

UVA 10173

bitch bitch bitch... TLE,WA一大坨,我是在拿生命来JUDGE啊.. 不得不说,UVA上的数据根本不是随机的,而是有预谋的. for(int i=2;i<n;i++){ while(stop>1&&cross(p[i],p[st[stop-1]],p[st[stop-2]])>=0) stop--;   //这个我本来是cross(p[i],p[st[stop-1]],p[st[stop-2]])>0 st[stop++]=i; } 因为没加

hdu4876

题意:有n(<=20)个数,在n个数中挑出k(<=6)个数组成一个环.给出一个L,这个环中的数(可以是1个,2个....k个)异或操作(只能是连续的几个数异或)会得到一系列的值,求这些值包含L并且向L+1,L+2延伸,所能取到的最大R.(L--R之间所有的数都必须取得到) 基础思路:就是先取出k个数,然后对这k个数进行全排列,在去找最大的R--这样必然超时. 标程给出的思路:先取k个数,最多有C(20,6)种取法,但是这些取法中有绝大部分是不符合要求的,这样,可以先不进行全排列,先对这6个数进

一个程序能既正确又不可靠吗?解释自己的答案。

在软件工程导论(第六版)书上的质量保证中有写到,所谓正确性,是系统满足规格说明和用户目标的程度,即在预定环境下能正确地完成预期功能的程度.对于顾客也就是说,他要认为这个程序能按照他的需求工作.软件可靠性是软件产品在规定的条件下和规定的时间区间完成规定功能的能力.规定的条件是指直接与软件运行相关的使用该软件的计算机系统的状态和软件的输入条件,或 统称为软件运行时的外部输入条件:规定的时间区间是指软件的实际运行时间区间:规定功能是指为提供给定的服务,软件产品所必须具备的功能.软件可靠性不但 与软件存

ACM中算法复杂度估算经验

OJ和正式的比赛一定会写明评测机各参数的,如果只是想比较准确的知道实际评测的效率,可以搞一些无聊的大递归交上去试试(比如1e8次求mod),最多不过几个TLE/WA而已.好在大家的机器基本上差不多,除非碰到恶意卡常数的情况,否则凭借一般人的常识足够了(比如1e4^2脸没洗好不要试,几e6的规模nlgn多半能赌一下常数和数据放水,1e8线性算法交之前看好自己的常数,再大就想想sqrt和log). 自己代码的话:有个好方法:随便来个极限数据,拿自己的机器跑一下(如果你觉得自己的机器太快,可以将自机的

[SinGuLaRiTy] 贪心题目复习

[SinGuLaRiTy-1024] Copyright (c) SinGuLaRiTy 2017. All Rights Reserved. [POJ 2709] 颜料 (Painter) 题目描述 杂货店出售一种由N(3<=N<=12)种不同颜色的颜料,每种一瓶(50ML),组成的颜料套装.你现在需要使用这N种颜料:不但如此,你还需要一定数量的灰色颜料.杂货店从来不出售灰色颜料——也就是它不属于这N种之一.幸运的是,灰色颜料是比较好配置的,如果你取出三种不同颜色的颜料各x ml,混合起来就

2014 ACM/ICPC Asia Regional Beijing Online HDU 5040 Instrusive 优先队列

WA到死的一道题目. 一个人从起点走到目标点.这个过程中有摄像头,摄像头的照射范围为两个单位长度,包括摄像头自己的位置.为了避免被照射到,可以有两种选择. 在一个位置等待1S,或者坐在盒子里过去(花费3S),走一步花费1S.摄像头每秒顺时针转一次. 1.4S有一个循环,所以每个位置vis[r][c][sec] 四种情况的最优解 2.不用显示构图, 每个摄像头都记录一下四种情况 3.使用优先队列,判断 RE,TLE,WA,AC..... 刚开始每个摄像头旋转的时候没有判断是否在范围内,一直RE,起

【模拟】Vijos P1005 超长数字串

题目链接: https://vijos.org/p/1005 题目大意: 无限的正整数按顺序拼接成字符串S(S=12345678910111213...),给你一个字符串A(len<=200)求这个字符串在S中最早出现的位置. (答案超过long long ,无法用KMP,不要相信标签) 题目思路: [模拟] 这题简直了!!!!!!大模拟啊.细节超级多.疯狂TLE+WA+RE了17次才AC. 第一次写了一整天没写过,放了好久,昨天又写了一整天(哎效率低下.) 首先分两种普遍的情况和两种特殊情况考

算法复杂度估算经验

算法复杂度: 复杂度计算出来后有什么用? 估计程序能否在规定时间内处理题目指定规模的数据 ACM有时间限制1s “规模”的举例 1.给N个数排序  规模:N 2.判断字符串P是否是字符串T的子串  规模:串的长度|P|和|T| 3.判断一个整数是否属于整数集合S  规模:|S| 要判断多少次(查询次数) 4.图中某两个点的最短路径/求连通图的最小生成树 规模:顶点数 边数 5.给一个整数集合S,问是否存在S的一个非空子集T,满足T中所有元素的和为零  规模:|S| 算法运算次算: 当代计算机1s