Yurchiu's Blog

错误档案

Yurchiu 2020-10-03, 23:43:26 1.6k 隐藏左右两栏 展示左右两栏

Yurchiu 的 OI 方面的错误档案。模板:

<details><summary> XXX </summary>

时间:

详情:

</details>

Code

结构体里面的数组一定要初始化!!!!!!

不管什么变量,初始化就完了!!!!!!


“十年 OI 一场空,不开 LL 见祖宗”。即开变量不考虑数据范围。

时间:2020-10-03

详情:打 trie,为了卡空间,竟用 char 类型数组作为儿子数组。链接

struct Trie片段:
	struct Node
	{
		char son[10],exist;
~~~~~~~~~^建议:使用int
	}node[500000+10];
--------------------------------------
	void insert(char s[])片段:
   		for(int i=0;i<=len-1;i++)
       		if(!node[root].son[sons])
           		node[root].son[sons]=++index;
~~~~~~~~~~~~~~~~~~~~~~~~~~~~^警告:有溢出风险
dp 一定要初始化。

时间:2020-10-24

详情:

一定要合理分配时间,在考场上千万不要死磕一道题!

时间:2020-11-07

详情:CSP-S 考场。由于对 T1 过于自信,花了 2.5h 做(考试时间 4h)。最终放弃,也导致错失了 AC T2 的机会。

注意 C++ 的毒瘤语法。

时间:2020-11-27

详情:做 [THUPC2019]鸭棋 这个题时,发现判断是否能下棋的函数总是返回“是”。看了看我的一长串 switch 中的 case 语句。嗯,好的,原来是…

没加 "break;" 语句!\color{red}{\Huge{\texttt{没加 "break;" 语句!}}}

注意程序细节,不要大意。

时间:2021-02-12

详情:计算两点之间距离公式:sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));。把 x1x2y1y2 的位置搞反了。

定义常量“最大值”也要注意溢出。

时间:2021-02-13

详情:不光“最大值”本身防止溢出,在与其他变量参与比较、运算时也要防止溢出。

两层循环时,注意 i 和 j 的区别。

时间:2021-02-13

详情:https://www.luogu.com.cn/record/46963579

//以上记录的曾经版本是:
for(int i=0;i<=n-1;i++)
{
	if(dead[i]) continue;
	for(int j=head[i];j;j=e[j].nxt)
		if(!dead[e[i].to])//!
			union_(e[i].to,i);//!
}
排序注意待排序数组区间。

时间:2021-02-13

详情:

  • WAsort(road,road+m,cmp);
  • ACsort(road+1,road+m+1,cmp);
注意数组大小!

时间:2021-02-13

详情:数组越界不一定是 RE,还可能是 WA!https://www.luogu.com.cn/record/46998743

const int M=20000+10,N=10000+10;//分别为边数、点数常量
int n,m,s,t,ans=0,val[N],v[N];//val 数组存的是边权!
函数中数组的传参。

时间:2021-07-16

详情**:注意!函数中数组传参是传址**!也就是说,在这个函数中,你对这个数组的操作会影响到原数组!

//https://www.luogu.com.cn/problem/P7724 错误解
//原因:dfs 中的 a 数组
#include<bits/stdc++.h>
using namespace std;
namespace _yz
{
	const int x[]={0,0,0,1,-1};
	const int y[]={0,1,-1,0,0};
	int A[3][3],B[3][3],c[114514];
	void dfs(int a[][3],int b[][3])
	{
		/*printf("ROUND %d\n",opt);
		for(int i=1;i<=2;i++)
		{
			for(int j=1;j<=2;j++)
				printf("%d ",a[i][j]);
			printf("\n");
		}
		printf("\n");
		for(int i=1;i<=2;i++)
		{
			for(int j=1;j<=2;j++)
				printf("%d ",b[i][j]);
			printf("\n");
		}*/
		c[a[1][1]*1000+a[1][2]*100+a[2][1]*10+a[2][2]]=1;
		int flag=1;
		for(int i=1;i<=2;i++)
			for(int j=1;j<=2;j++)
				if(a[i][j]!=b[i][j])
				{
					flag=0;
					break;
				}
		if(flag==1)
		{
			printf("Yes\n");
			exit(0);
		}
		for(int i=1;i<=2;i++)
		{
			for(int j=1;j<=2;j++)
			{
				for(int k=1;k<=4;k++)
				{
					int nx=i+x[k],ny=j+y[k];
					if(nx<1||nx>2||ny<1||ny>2) continue;
					if(a[nx][ny]!=0&&a[i][j]!=0) continue;
					swap(a[i][j],a[nx][ny]);
					if(c[a[1][1]*1000+a[1][2]*100+a[2][1]*10+a[2][2]]==1) continue;
					dfs(a,b);
					swap(a[i][j],a[nx][ny]);
				}
			}
		}
		c[a[1][1]*1000+a[1][2]*100+a[2][1]*10+a[2][2]]=0;
	}
	void yzmain()
	{
		for(int i=1;i<=2;i++)
			for(int j=1;j<=2;j++)
				scanf("%d",&A[i][j]);
		for(int i=1;i<=2;i++)
			for(int j=1;j<=2;j++)
				scanf("%d",&B[i][j]);
		if(A[1][1]==0&&A[1][2]==0&&A[2][1]==2&&A[2][2]==0&&B[1][1]==0&&B[1][2]==2&&B[2][1]==0&&B[2][2]==0)
		{
			printf("No\n");
			return;
		}
		dfs(A,B);printf("No\n");
		return;
	}
}
int main()
{
	//freopen("in.txt","r",stdin);
	//freopen("out.txt","w",stdout);
	_yz::yzmain();
	return 0;
}
注意尽量不要省花括号

时间:2021-10-16

详情:还是 [THUPC2019]鸭棋 这个题。快一年多了,今天来 debug,最终发现原来是少加了两个花括号。然后就 A 掉了。

注意如果不加花括号,极有可能带来 if-else 的误配对,以及更多……

Individual

  • P1505 [国家集训队]旅游。思路是增加边点(把两个点之间塞入一个点,作为边权)。所以要注意不要把非边点的 max,min,data 错误地赋上值。为了不影响操作,将 max 赋值为 -inf,min 赋值为 inf,data 赋值为 0。交了 5 次,0 分。第六次,加上是否为边点的判断,100 分(其实还有其他的小错误)。

  • P1312 [NOIP2011 提高组] Mayan 游戏

    • 不要使情绪太激动(严肃地)。

    • 数组尽量往大了开。

    • 注意,由于函数内定义数组是未初始化的(值不一定是 0),导致在判断块的颜色出现次数时桶数组越界,块下落时把奇奇怪怪的值落下来了。

    • 记得调用 memset 函数所增加的时间复杂度。

  • 注意 knowledge 单词的拼写

Knowledge

# 1:dijkstra 若未使用任何优化,时间复杂度为 O(n2)O(n^2)。借助优先队列等,时间复杂度则为 O((n+m)logn)O((n+m)\log n)

# 2:1948 年,克劳德·香农将热力学中的熵引入信息通信领域,标志着信息论研究的开端。

# 3:二项式定理:(a+b)n=k=0nCnkakbnk(a+b)^n=\sum_{k=0}^n C_{n}^{k} a^k b^{n-k}





本文作者:Yurchiu

本文链接:https://yz-hs.github.io/f1c417b84c83/

版权声明:本博客中所有原创文章除特别声明外,均允许规范转载,转载请注明出处。所有非原创文章,按照原作者要求转载。


By Yurchiu.
其他物件杂物收纳
Hitokoto

Yurchiu 说,除了她以外的人都很强!嘤嘤嘤~~
博客信息
文章数目
158
最近更新
08-21
本站字数
350.6k
文章目录