线段 指针309f abc

ABC271 复盘

ABC271 复盘 At 链接 LG 链接 [ABC271A] 484558 思路解析 根据小学学过的进制转换法可得,\(10\) 进制转换成 \(x\) 进制可以用 \(10\) 进制反复除 \(x^k\),其中 \(k\) 代表在 \(x\) 进制下的第 \(k\) 位,然后在每次除完后取余再反 ......
ABC 271

函数指针、类成员函数指针学习

转自:https://www.runoob.com/w3cnote/cpp-func-pointer.html,写的非常好 1.函数指针 函数的函数名就是它的地址,存储在代码区。如同数组一样,数组的名字就是数组的起始地址。 定义: data_types (*func_pointer)( data_t ......
指针 函数 成员

指针

指针 指针类型和指针类型的转换 https://www.cnblogs.com/chanabi/p/9228998.html 预备知识复习: 1. 地址,字节和位: 位(bit)是计算机最小的数据单位,每一位的状态只能是0或1; 字节(Byte)是用于计算存储容量的一种单位,每一个字节由8位组成(1 ......
指针

ABC320G Slot Strategy 2 (Hard)

ABC320G 直接做不是很好做,考虑用二分将其转化为判断可行性的问题。 发现每个字符串都会对应一个唯一的时间,每个时间最多也只对应一个字符串,这启发我们将字符串与时间连边,然后跑二分图的最大匹配。这样的总点数是 \(\mathcal{O}(nm)\) 的,无法通过。但是每一种字符中只有前 \(n\ ......
Strategy 320G Slot Hard ABC

C 语言指针完全指南:创建、解除引用、指针与数组关系解析

C 语言中的指针 创建指针 我们可以使用引用运算符 & 获取变量的内存地址: int myAge = 43; // 一个 int 变量 printf("%d", myAge); // 输出 myAge 的值 (43) printf("%p", &myAge); // 输出 myAge 的内存地址 ( ......
指针 数组 语言 指南

[ABC273D] LRUD Instructions 题解

[ABC273D] LRUD Instructions 题解 很好的一道大模拟,使我爆 \(0\)。 思路解析 大模拟,我们只需要用一个 \(x,y\) 表示我们当前的位置,而对于每一个移动,我们就判断在当前移动方向上离当前点最近的点,若该点在当前行进路线上,则把当前位置设为该点前面的一个。 其中判 ......
题解 Instructions 273D LRUD ABC

[ABC268E] Chinese Restaurant (Three-Star Version) 题解

[ABC268E] Chinese Restaurant (Three-Star Version) 题解 思路 hzl大佬的神仙思路。 考虑菜对轮数做贡献,可以发现一定是形如 \(0,1,2,...n/2,...0,..\) 之中的一段,研究 \(0,1,2...,n/2,...,0\),可以通过二 ......
题解 Restaurant Three-Star Chinese Version

go 语言指针

指针 // 定义指针变量: var a *int // 给指针变量赋值 var b int = 10 a = &b // 打印变量地址 fmt.Println(&b) // 通过 & 符号取变量地址 // 打印指针变量 fmt.Println(a) //打印出来是个地址 // 打印指针变量值 fmt ......
指针 语言 go

指针和引用的区别?

1. 指针是一个变量,只不过这个变量存储的是一个地址,指向内存的一个存储单元;而引用仅是个别名; 2. 引用使用时无需解引用(*),指针需要解引用; 3. 引用只能在定义时被初始化一次,之后不可变;指针可变; 4. 引用没有 const,指针有 const; 5. 引用不能为空,指针可以为空; 6. ......
指针

指向指针的指针

void func(int **a) { int **p = a; *p = new int (3); cout<<"p="<<p<<"*p="<<*p<<"**p="<<**p<<endl; } int *a = 0; func(&a); cout<<"a="<<a<<"*a="<<*a<<end ......
指针 指向

带头指针单向链表实现线性结构

#include <stdio.h> #include <stdlib.h> #define Elemtype int #define ERROR -1 typedef struct Node { Elemtype e; Node* next; }Node,*LinkList; void InitL ......
单向 线性 指针 结构

[ABC271E] Subsequence Path 题解

[ABC271E] Subsequence Path 题解 思路解析 很好的一道题,很有迷惑性,表面上是一道图论实际上是 dp,定义 \(f_{i}\) 为从 \(1\) 到 \(i\) 的最短 “好路”。先把每条边对应的起点,终点和边权记录下来,然后输入每个 \(e\),由于是子序列顺序不会改变, ......
题解 Subsequence 271E Path ABC

手写智能指针(类)

基础知识: 智能指针的设计与实现: 1.智能指针类将一个计数器与类指向的对象相关联,引用计数跟踪该类有多少个对象共享同一指针。 2.每次创建类的新对象时,初始化指针并将引用计数置为1; 3/当对象作为另一对象的副本而创建时,拷贝构造函数拷贝指针并增加与之相应的引用计数; 4.对一个对象进行赋值时,赋 ......
指针 智能

[ABC271G] Access Counter 题解

[ABC271G] Access Counter 题解 思路 挺难的 DP。 状态里面不能含有天数,只能从时间点入手,一眼矩阵快速幂所以考虑以登录次数作为阶段设计状态。 可以得到这个DP:\(g_{i ,j}\) 表示登录 \(i\) 次,且第 \(i\) 次登录在 \(j\) 时刻的概率。 转移可 ......
题解 Counter Access 271G ABC

「ABC334F Christmas Present 2」题解

Cnblogs 线段树优化 dp?线段树优化 dp! Solution 题目来源:ABC334F(in 洛谷| in AtCoder)题目大意很清晰就不讲了。 我们发现礼物是固定从 \(1\sim n\) 房间送的,唯一要分讨的地方就是什么时候要回去拿礼物。所以很容易想到二维 dp。 定义 \(f_ ......
题解 Christmas Present 334F ABC

P3372 【模板】线段树 1

原题链接 题后感 码量也太大了吧 小记 题解网上有,但是有关这个lazytag我要提一嘴,我建议不要记它,你只需知道修改的区间没有整体破坏时,其内部的元素内容暂不做修改 code 码量真大 #include<bits/stdc++.h> #define ll long long using name ......
线段 模板 P3372 3372

C语言指针详解

一、指针的定义 指针是C语言的灵魂,数据结构的基础。 首先我们给出指针的官方定义:指针(英语:Pointer),是在许多编程语言中用来存储内存地址的变量。 简化一下,指针是变量,它是表示内存地址的。类比一下int,我们知道int表示的是整型,char表示的是字符型,那么指针就是表示的是内存型。 我们 ......
指针 语言

P10009 [集训队互测 2022] 线段树 题解

题目链接:P10009 [集训队互测 2022] 线段树 神仙分块题,先给一下出题人的神仙官解:官解 前面还看得懂。后面是啥?这不是 ds 题咋和 dp、轮廓线扯上关系了。看了半天,还是这个启发了我: 其手玩下,在 Excel 里写一下,可以理解到这里其实是想表达的一个核心意思是啥:对于一组序列而言 ......
集训队 线段 题解 P10009 10009

C指针的减法为什么不用除以类型大小

在 C 语言中,指针的减法操作实际上是计算两个指针之间的元素个数,而不是直接的字节偏移量。指针减法的结果的单位是指针类型所指对象的大小。对于 char 类型的指针,这个大小是1字节。 所以,表达式 result - haystack 的结果是两个指针之间相差的元素个数,而由于它们都是 char 类型 ......
减法 指针 大小 不用 类型

C语言函数指针与指针函数

C语言函数指针与指针函数 简介: 函数指针与指针函数是两个不同的东西。 函数指针是指向一个函数的指针变量,该指针存储的是所指向函数的内存地址。函数指针可以被当做参数传递,也可以在C语言接口体中实现接口的功能,定义而不实现。 与函数指针相似的是一个名叫“指针函数”概念。指针函数是指返回值为指针的函数。 ......
指针 函数 语言

Rust实现线段树和懒标记

参考各家代码,用Rust实现了线段树和懒标记。 由于使用了泛型,很多操作都要用闭包自定义实现。 看代码。 // 线段树定义 pub struct SegmentTree<T: Clone> { pub data: Vec<T>, tree: Vec<Option<T>>, marker: Vec<T ......
线段 标记 Rust

AtCoder_abc334

A、Christmas Present 跳转原题点击此:A题地址 1、题目大意 给你bat和glove的价格,选择价格高的那个,并输出"Bat"或者"Glove"。 2、题目解析 没啥好说的,直接比较即可,记得不要输错英文字母。 3、具体代码 #include<bits/stdc++.h> usin ......
AtCoder_abc AtCoder 334 abc

AT_abc299_h 题解

原问题可转化为:在一个长为 \(10^9\) 的环上,每次走 \(1\sim6\) 步,指定起点,问到原点的期望步数。 考虑走到 \(-1\sim-6\) 的期望步数。我们发现,对于 \(X-R\equiv -i\pmod {10^9},i\in[1,6]\),\(C\) 的期望应该存在线性关系,因 ......
题解 AT_abc 299 abc AT

[ABC216G] 01Sequence

题目链接 很显然,按照右端点从小到大排序,对于每段区间尽量地贪心放在靠右的位置即可。 中间用 std::set 维护当前还是 \(0\) 的位置,以及树状数组维护区间 \(1\) 的个数。 点击查看代码 #include <bits/stdc++.h> #define FL(i, a, b) for ......
Sequence 216G ABC 216 01

[ABC212H] Nim Counting

题目本质就是对一个多项式 \(F\) 进行等比数列求和得到 \(G\)(\(F_i\) 表示 \(i\) 在序列 \(A\) 中的出现次数),求 \(G\) 所有下标 \(>0\) 的位置的权值和。 显然,\(M\) 固定就可以直接做了。但 \(M\) 不固定,所以我们只能暴力枚举 \(M\) 并进 ......
Counting 212H ABC 212 Nim

线段树笔记

例\(1\) 题目描述 给定一个长为\(n\)的序列,有\(m\)次操作,每次操作为以下三种之一。 修改序列中的一个数 求序列中某连续一段所有数的两两乘积的和\(\text{mod} 1000000007\)。 求序列中某连续一段所有相邻两数乘积的和\(\text{mod} 1000000007\) ......
线段 笔记

[ABC334C] Socks 2 题解

题目传送门 一道贪心题。 数量为 \(2\) 的袜子不用考虑,因为最好的情况就是相同颜色的配一对。 我们只需要考虑那 \(k\) 种只有 \(1\) 个的袜子,如果 \(k\) 为偶数,答案为相邻两数之差之和;如果 \(k\) 为奇数,就枚举删掉一个数,让剩下的数按照 \(k\) 为偶数的情况做,最 ......
题解 Socks 334C ABC 334

[ABC334E] Christmas Color Grid 1 题解

题目传送门 一道 dfs 题。 先统计出绿连通块数量,然后对于每个红色方块统计涂成绿色方块后会变成多少个连通块。正常涂成绿色后应该会增加一个大小为 \(1\) 的绿连通块,但若是有不同的绿连通块与其相邻,答案又会减少 \(1\)。 Code #include <bits/stdc++.h> cons ......
题解 Christmas Color 334E Grid

指针表示的总结(int *p、int **p、int (*p)()、int *p()、int *p[n]、int (*p)[n])

/* 指针也是变量,存储的是地址,直接使用和普通变量一样是引用方式使用,值是地址 */ int *p = a;//一级指针 p的值就是指向a变量的地址。*p就是取地址指向a变量的值,也相当于a变量的引用,与a等价。&p是指针的地址,*&p等价于p int **p = &p;//二级指针 int (* ......
int 指针

ABC267 复盘

ABC267 复盘 At 链接 LG 链接 [ABC267A] Saturday 思路解析 用一个 map 存下每个日期代表的数字,拿 \(6\) 减去即可 code #include<bits/stdc++.h> using namespace std; map<string, int> mp; ......
ABC 267
共2096篇  :3/70页 首页上一页3下一页尾页