指针的概念 指针也就是内存地址,指针变量是用来存放内存地址的变量。指针没有实际的值,在使用变量的时候不要错以为指针等于变量。指针是门牌号,房间是变量,房间里的东西是变量的值。 房间有户型,三室一厅、二室一厅等。不管房间是什么类型的,门牌号都是唯一的。只要有门牌号我就能无误
void dg_cli(FILE *fp, int sockfd, const struct sockaddr * pservaddr, socklen_t servlen) { int n; char sendline[maxline], recvline[maxline+1]; char errbuff[maxline]; struct sockaddr_in localaddr; socklen_t len=sizeof(localaddr); if(connect(sockfd, (
本题的找规律题解到此为止。 为防止新人受到误导,不再接受新的此类题解。 以前的保留不会删除,但请不要再提交。 题目传送门。 矩阵加速模板题吧。给一个正经的不用找规律的做法。 考虑设 \(F_n\) 表示前 \(n\) 个格子的答案,\(f_n\) 表示最后降落在 \(n\) 的方案数,显然有 \(F_n=F_{
声明数组变量 首先必须声明数组变量,才能在程序中使用数组。下面是声明数组变量的语法: dataType[] arrayRefVar; // 首选的方法 或 dataType arrayRefVar[]; // 效果相同,但不是首选方法 创建数组 Java语言使用new操作符来创建数组,语法如下: arrayRefVar = new dataType[arr
#include <stdio.h> main() { int sum=0,a,b,c; for(a=2;a<=100;a++) { c=0; for(b=2;b<a;b++) { if(a%b==0) { c=1; break; } } if
[NOIP2003 普及组] 数字游戏 题目描述 丁丁最近沉迷于一个数字游戏之中。这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易。游戏是这样的,在你面前有一圈整数(一共 \(n\) 个),你要按顺序将其分为 \(m\) 个部分,各部分内的数字相加,相加
更新记录 转载请注明出处:https://www.cnblogs.com/cqpanda/p/16675933.html 2022年9月15日 发布。 2022年9月10日 从笔记迁移到博客。 结构类型(Struct Type)说明 提供类似类的一种逻辑结构,是一种用户自定义的值类型,可以包含数值和方法 结构是值类型,不可以赋值为null 结构传参按
链接:https://ac.nowcoder.com/acm/contest/28576/A来源:牛客网 题目描述 给出一个长度为n的字符串s和q个查询。对于每一个查询,会输入一个字符串t,你需要判断这个字符串t是不是s的子串。子串的定义就是存在任意下标a<b<c<d<e,那么”s[a]s[b]s[c]s[d]s[e]”就
Given a binary array data, return the minimum number of swaps required to group all 1’s present in the array together in any place in the array. Solution 注意这里的交换 \(swap\) 并不是相邻两个元素的,而是任意位置的都可以。所以我们需要找到一个区间,使得所有1变换
A peak element in a 2D grid is an element that is strictly greater than all of its adjacent neighbors to the left, right, top, and bottom. Given a \(0\)-indexed m x n matrix mat where no two adjacent cells are equal, find any peak element mat[i][j] and
Given an integer array nums and an integer k, return the maximum length of a subarray that sums to k. If there is not one, return 0 instead. Solution 注意到是 subarray, 所以是连续的。因此我们用 \(map\) 来记录一下当前 \(cursum\) 第一次出现下标位置,所以如果此时
1. 灯泡开关I 初始时有 n 个灯泡处于关闭状态,第i轮切换i的倍数位置的开关,直到第n轮切换位置n的灯泡开关,返回n轮后灯泡亮着个数 实际上就是求进行奇数次操作灯泡个数,对第k个灯泡进行操作的轮次为其约数,约数一般成对存在,除非为完全平方数 原问题转换为求1~n的完全平方数个数 retur
1715C Monoblock 展开 题意简述: 我们定义连续 \(k\)(\(k\) 尽可能大)个相同的数被称为一个“块”。一个序列的“块”数就相当于将其直接去重后的序列长度。 给定一个长度 \(n\) 的序列和 \(m\) 次询问。对于每次询问,有两个数 \(i,x\),先将 \(a_i\) 改为 \(x\),然后输出 \(\sum\limits
冒泡排序 简单介绍 我们常用的排序算法一般有8种,简称8大排序,它们是:插入排序、选择排序、冒泡排序、希尔排序、归并排序、快速排序、堆排序、基数排序。今天我们就简单的来了解一下冒泡排序。什么是冒泡排序呢?举个很简单的例子:我们知道水泡吧,是不是越轻的水泡就会越快浮到水面上。
Til the Cows Come HomePOJ - 2387 题意:给你一幅地图,点1~N,双向正权路,问你N到1的最短路径? 算法:Dijkstra或者SPFA 思路:因为是正权路径,可以用Dijkstra算法;SPFA区别就是可以判断负权环。 1 #include <iostream> 2 #include <vector> 3 #include <cstring> 4 #include <algorithm
一、简述 本文章主要介绍有关约数的基础算法。 二、约数 约数,又称因数。整数 \(a\) 除以整数 \(b\)(\(b\) ≠ 0) 除得的商正好是整数而没有余数,我们就说 \(a\) 能被 \(b\) 整除,或 \(b\) 能整除 \(a\)。\(a\) 称为 \(b\) 的倍数,\(b\) 称为 \(a\) 的约数。 三、试除法求约数 设一个
https://codeforces.ml/contest/1729/problem/G https://zhuanlan.zhihu.com/p/563809110 分析: 就是把主串中所有跟子串匹配的位置删掉,问最少删除多少次能够满足主串中不再出现子串,并问满足最少删除次数的方案数有多少个 f[i]:[1,i] 必须删除[i-m+1,i] 的子串,总共的最少删除次数
B. GCD Problem 题目Link 题意 \(T (1 \le T \le 100000)\) 组数据,给定一个数字 \(n (10 \le n \le 10^9)\),请你找出三个不同的正整数 \(a, b, c\) 满足 \(a + b + c = n\),并且 \(gcd(a, b) = c\)。 SOLUTION 思路一: 首先想到对 \(n\) 分解质因数,然后枚举 \(c\),但是这样复杂度是不
声明:与学校集训内容无关。 并查集是一种树形结构,基本的应用就是判断两个元素是否在同一个集合内,也可以将两个元素所在的集合合并。 举个奇怪的例子。 原理&代码实现+优化 假设这里有一些P主,他们有不同的口味(派别),有摇滚,重金属,古典等等等。 现在我们假设有很多很多种口味,而我们设同
题目地址:J-Serval and Essay_"蔚来杯"2022牛客暑期多校训练营1 (nowcoder.com)题意: 有一张n个点m条边的无重边无自环的有向图 初始时可以选择一个点染黑,其余点均为白色 若某个点的所有边的起点都是黑点,则该点可以被染黑 最大化图中黑点的数量 多组数据,n <= 2e5 m <
P1000 #include <iostream> using namespace std; int main(int argc, char** argv) { cout<<" ********"<<endl <<" ************"<<endl <<" ####....#.&q
首先发现这个 \(|a_i-a_j|=1\) 的形式比较接近差分约束,稍微转化一下就是:\(-1\le a_i-a_j\le 1\) 且 \(a_i\neq a_j\)。于是你会发现 \(a_i\neq a_j\) 不是差分约束的条件。 换个角度。容易发现一条边相连的两个点一定奇偶性不同。考虑原图中若存在奇环,那么显然这是自相矛盾的。所
一、简介 函数是零时间执行结构。与任务不同,函数具有确保它们返回而不暂停启用它们的进程的限制。因此,函数不能包含任何耗时的语句。从这个角度来看,一个函数不能有以下运算符: #, ##, @, fork..join, fork..join_any, wait, wait_order or expect. 函数允许不阻塞的语句,例如,允
一、(MySQL)通过函数/存储过程 1、链接 https://www.jb51.net/article/207999.htm https://blog.csdn.net/FloraCHY/article/details/117792903 2、代码 -- 进入数据库 use test; -- 显示所有表 show tables; -- 创建majors表 create table majors(id int, major varchar(255)); --
Problem 原题 题意:你有一个序列,一个位置上的数 \(x\) 可以覆盖接下来的 \(x\) 个数,你可以修改一些数,代价就是改变的大小,求覆盖这个序列的最小代价和。 Solution 拿这题练了一下BIT优化DP,感觉还挺有意思的,所以写写。 首先考虑朴素 dp,令 \(dp[i]\) 表示完全覆盖 \([i,n]\) 的最小代