2023/4/6总结

题解

Problem - A - Codeforces

1.这道题很简单,找出将当前数字放入字符串的最大值。

2.分情况讨论,有俩种情况,一种是大于等于数字d,那么这个数字d需要插入到最后字符串的位置。否则这个数字需要插入到第一次比它小的位置。

代码如下:

#include
#include
#define N 200100
char str[N];
char a[N],b[N];
int main()
{
	int t,n,d,i,j,min,flag;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d",&n,&d);
		scanf("%s",str);
		min=99;
		flag=0;
		j=0;
		for(i=0;istr[i]) 
			{
				min=str[i];
			}
			if(flag==0&&str[i]=d+'0') 
		{
			printf("%s%c\n",str,d+'0');
		}
		else
		{
			strcpy(a,str);
			a[j]=0;
			strcpy(b,str+j);
			printf("%s%c%s\n",a,d+'0',b);
		}
	}
	return 0;
}

P1656 炸铁路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn)

1.这道题目时tarjan算法加桥的知识点。

可以看看我之前关于tarjan算法的一孔之见——2023/1/8总结_lxh0113的博客-CSDN博客

和桥——2023/1/12总结_lxh0113的博客-CSDN博客 

tarjan算法是强连通算法,桥又叫割边,就是说去掉这条边,这条边对应的俩个顶点是否还有其他路径相连,如果没有,那么说这是桥。

2.在tarjan算法的基础上,有一个爷爷节点,父节点,儿子节点。桥的特点是,如果父节点的dfn值小于儿子节点的low值,说明儿子节点在这个图当中只能通过父节点。那么这个就是桥

3.会出现俩种情况,儿子节点访问过了,此时访问过了我们需要去刷新当前节点的low值,也就是出现的最早时间,如果儿子节点已经访问过了很有可能出现了强连通,它们在一个环里面。另外一个情况就是儿子节点没有被访问,此时,我们需要在这个儿子节点继续往下搜索(因为不确定儿子节点是否能回到父亲节点以上或者父亲节点)

4.然后就是排序啦,用的是c++的sort函数。

#include
#include
#define Maxn 5100
#define N 160

using namespace std;

int mymap[N][N];
int dfn[N],low[N],time=1,n,m;
int len=0;
struct node
{
	int u,v;
}res[Maxn];
int minz(int a,int b)
{
	if(a>b) return b;
	return a;
}
bool cmp(node a,node b)
{
	if(a.u==b.u) return a.vdfn[x]) 
				{
					res[len].u=x;
					res[len].v=y;
					len++;
				}
			}
		}
	}
	return 0;
}
int main()
{

	int i,j,u,v;
	scanf("%d%d",&n,&m);
	for(i=1;i<=m;i++)
	{
		scanf("%d%d",&u,&v);
		mymap[u][v]=1;
		mymap[v][u]=1;
	}
	for(i=1;i<=n;i++)
	{
		if(dfn[i]==0)
		{
			dfs(0,i);
		}
	}
	sort(res,res+len,cmp);
	for(i=0;i

主要学习了MySQL

MySQL注释

单行注释:--或#

多行注释    /**/

2023/4/6总结_第1张图片

 数据类型2023/4/6总结_第2张图片

2023/4/6总结_第3张图片

2023/4/6总结_第4张图片

创建数据库:

creat database 名称;

在navicat中创建:

下面是创建一个数据库里面的表,表里面包含了这些元素。

2023/4/6总结_第5张图片  

最后一行的primary key的意思是把id作为主键。

修改表

表示在student这个表里面添加score字段。

新建多个字段

修改字段类型:

修改字段名称(可以直接理解为修改字段)

删除字段

删除多个字段:

删除表

查看表结构

2023/4/6总结_第6张图片

上面这些操作是可以在新建表当中搞:(如果想要修改,就点击你想要修改的表,右击选择设计表)

2023/4/6总结_第7张图片

 查询表中所有数据

2023/4/6总结_第8张图片

查询一列数据(指定的列)。

2023/4/6总结_第9张图片

如果要查询多个指定的列,那么在from前面用逗号隔开即可。

使用别名查询:(把字段变成别名,以便于查看)

2023/4/6总结_第10张图片

 concat语句,合并列字段

2023/4/6总结_第11张图片

查询时可以进行加减乘除运算

2023/4/6总结_第12张图片

 查询去重操作,用distinct语句即可。

2023/4/6总结_第13张图片

条件查询,在后面加where语句,可以结合运算符使用。

 比如:

2023/4/6总结_第14张图片 

插入单条数据:

如果想按照自己想要的字段顺序:

 可以只插入自己想要的字段,但是必须插入主键的值,并且主键不能重复插入。主键值是整数并且是增长的,如果没有填写,就是默认自动增长。

 如果要插入多组数据,那么需要在values后面加逗号批量插入。

下面这段代码表示,创建一个student1表格,主键是id,并且是默认自然增长的,name的初始值是666.  插入的时候如果不插入主键值,那么就会自然增长,不插入其他值,其他值就是我们所设的初始值。在navicat里面,字符串可以用单引号。这个自动增长永远是按照上一次的值来增长的,即使之前装满了数据,然后又清空了,自动增长还是会从上一次的开始,除非

2023/4/6总结_第15张图片

修改所有行的字段数据 ,修改多个则添加逗号。

 

下面代表用where语句修改特定的数据,修改的是where语句后面id=2,修改的是id=2的数据的gender和name值

 

 删除某行的数据,会删除where语句后面匹配的值。

删除整个表格,直接写delete from student;即可。

like语句

%代表像文件的通配符”*“,可以匹配多个字符,下面代表了,删除name以elios结尾的数据。

你可能感兴趣的:(mysql,数据库,php)