线段 指针309f abc

const指针

#include <iostream> using namespace std; int main(){ // const 指针 int num = 1; int another = 2; // 这个指针指向的内容,不能透过这个指针来修改 // 可以理解为const int*, const int ......
指针 const

指针与数组

数组名访问数组元素 a[i] 等价于 *(a + i) 数组名也是指针,但是是指针常量,指针操作赋值给普通指针 int i, *pa, a[] = {3,4,5,6,7,3,7,4,4,6}; pa = a; a++;//不可以 pa++;//可以 int i, a[] = {3,4,5,6,7,3 ......
数组 指针

ABC333G

题面 给定一个小于 \(1\) 的正实数 \(r\) 和一个正整数 \(n\)。 要求在满足 \(0≤p≤q≤n\) 和 \(\gcd(p,q)=1\) 的前提下,找到使 \(|r-\frac{q}{p}|\) 最小的二元组 \((p,q)\) 。 如果存在多个这样的二元组 \((p,q)\),输出 ......
333G ABC 333

Qt杂谈8.浅谈Qt智能指针那些事

1 引言 在 Qt 中,智能指针是一种能够自动管理对象生命周期的指针类型。通过使用智能指针,可以避免手动释放内存和处理悬挂指针等常见的内存管理问题。Qt中常用的智能指针主要有以下几种: QPointer:QPointer 是 Qt 提供的空安全的智能指针,用于解决对象悬挂指针的问题。QPointer ......
指针 杂谈 智能

jdk 11.0.16.1版本 生成图片验证码会报空指针异常

异常堆栈信息 java.lang.NullPointerException: null at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) at java.desktop/sun.awt. ......
指针 版本 图片 jdk 11

AT_abc020_c 题解

链接(atcoder) 链接(luogu) 简单算法组合(? 算法一 爆搜,时间复杂度 \(O(2^{n \times m} \times t)\),不能通过此题。 算法二 考虑二分 \(t\),然后暴搜,时间复杂度 \(O(2^{n \times m} \times log2(t))\),不能通过 ......
题解 AT_abc 020 abc AT

【模板】李超线段树 / [HEOI2013] Segment

李超线段树是一种用于维护平面直角坐标系内线段关系的数据结构,插入直线/线段,支持查询单点极值 李超树的经典应用是斜率优化,可以看下这篇文章 李超线段树没有用懒标记实现区间修改,而用的是标记永久化 其实标记永久化与我们对lazy标记的理解非常相同,可以看看LYD蓝书上对标记永久化的解释,都是累积某个节 ......
线段 模板 Segment HEOI 2013

代码随想录day 02 双指针 滑动窗口 螺旋矩阵

有序数组的平方题目如下: 如果是可以使用O(nlogn)或以上复杂度的算法,本题可以简单的先平方一遍,然后使用排序算法就可以了 但是要求使用O(n)复杂度的算法,那么我首先想到的是昨天的快慢指针类似的想法: 我想先平方一次数组,然后从中间开始排序,如下 但是运行之后发现从中间开始进行相邻元素的比较好 ......
随想录 矩阵 指针 螺旋 随想

代码随想录day 01 二分法与快慢指针

二分法题目: 实现代码如下: 值得注意的是实现的方法是利用左闭右开区间还是左闭右闭区间 根据选择的不同,判断条件不同 将迭代的值带入到条件看符不符合区间要求就不会混淆二者 快慢指针题目: 本题实际上可以通过二重for循环暴力求解,复杂度是O(n^2) 但是测试过程中发现超时遂放弃 利用快慢指针在数组 ......
二分法 随想录 快慢 指针 随想

[ABC267F] Exactly K Steps 题解

[ABC267F] Exactly K Steps 题解 思路 首先发现,如果对于查询 \((u, k), k > 0\) 可行,那么对于 \((u, k - 1)\) 也一定可行,因为往回走一步就可以了,所以对于一个点可以找到离它最远的点,根据直径的结论,这个点一定是直径的端点之一。 为了方便做, ......
题解 Exactly Steps 267F ABC

AtCoder_abc334

AtCoder_abc334 A - Christmas Present 题目描述 输入两个数 \(B,G(B \neq G)\) ,若 \(B\) 大,输出 Bat ,否则输出 Glove 。 解题思路 无 Code // Problem: A - Christmas Present // Con ......
AtCoder_abc AtCoder 334 abc

函数指针 int (*add)( )

原文 首先它是一个指针,一个指向函数的指针,在内存空间中存放的是函数的地址; int Add(int x,int y) { return x+y; } int main() { printf("%p\n",&Add);//打印一下函数Add()的地址 printf("%p\n",Add);//数组名 ......
指针 函数 int add

C语言: 函数 值传递 || 指针传递

在C语言中,函数可以使用指针传递和值传递来传递参数。 通常情况下,使用值传递是最常见和最简单的方式。在值传递中,函数的参数会被复制一份,然后传递给函数。这意味着在函数内对参数的修改不会对原始数据产生影响。当你只需要传递一个简单的数据类型,如整数或浮点数时,值传递是一个不错的选择。 指针传递则适用于以 ......
指针 函数 语言

lazy线段树模板

import java.io.*; import java.util.*; public class Main { static int N = (int)1e5+10; static long[] arr = new long[N]; static long[] sum = new long[N< ......
线段 模板 lazy

116. 填充每个节点的下一个右侧节点指针(中)

目录题目题解:BFS 题目 给定一个 完美二叉树 ,其所有叶子节点都在同一层,每个父节点都有两个子节点。二叉树定义如下: struct Node { int val; Node *left; Node *right; Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右 ......
节点 指针 右侧 116

第 120 场双周赛(前缀和,双指针,树形dp+贪心)

class Solution: def largestPerimeter(self, nums: List[int]) -> int: nums.sort() n = len(nums) s = list(accumulate(nums)) for i in range(n - 1, 1, -1): ......
树形 前缀 指针 120 dp

C语言全局变量的extern+typedef函数指针+uvm_queue/pool/config_db/resource_db/barrier+接口设计分层+PCIe电气接口

C语言全局变量的extern 全局变量在不同的文件引用,需要加上extern,才能引用到。 如果没有extern关键词,则认为是一个定义,而不是引用,引发同名冲突。 函数也是一样。要在本文件引用其它文件的函数,需要增补extern关键字。 而其它文件,声明和定义过该函数。 typedef函数指针 h ......
接口 指针 全局 变量 resource_db

Atcoder ABC 333 F - Bomb Game 2

题目大意(采用0#语言):有n个人,每个人每次要么被“炸掉”,要么就被移到最后面去,概率都是1/2,求最后只剩下初始时排名为第i的人的概率。 这道题跟人数有关,而且跟位置有关。 我们定义dp[i]表示一共有i个人,第i个为最后一位留下来时的概率。 (不想写公式) 定义j从0到i - 1,表示从前面i ......
Atcoder Bomb Game ABC 333

c++智能指针和java垃圾回收对比-cnblog

c++智能指针和java垃圾回收对比 我们都知道C++和java语言的一个巨大差异在于垃圾回收方面,这也是C++程序开发者和java程序开发者之间经常讨论的一个话题。 在C++语言中,一般栈上的内存随着函数的生命周期自动进行回收,但是堆上内存(也就是自己new/malloc出来的空间),需要自己手动 ......
指针 垃圾 智能 cnblog java

[ABC265F] Manhattan Cafe 题解

[ABC265F] Manhattan Cafe 题解 思路解析 很有思维难度的一道题。思路是dp,\(f[i][j][k]\) 表示已经计算了 \(i\) 维,距离点 \(p\) 的距离为 \(j\) ,距离点 \(q\) 的距离为 \(k\) 时的整点 \(r\) 个数,由此可见我们的每一维都可 ......
题解 Manhattan 265F Cafe ABC

c++智能指针和java垃圾回收对比

c++智能指针和java垃圾回收对比 我们都知道C++和java语言的一个巨大差异在于垃圾回收方面,这也是C++程序开发者和java程序开发者之间经常讨论的一个话题。 在C++语言中,一般栈上的内存随着函数的生命周期自动进行回收,但是堆上内存(也就是自己new/malloc出来的空间),需要自己手动 ......
指针 垃圾 智能 java

ABC334 全套题解

A - Christmas Present 简单题。 void slv() { int a = Read<int>(), b = Read<int>(); if (a > b) Puts("Bat"); else Puts("Glove"); return; } B - Christmas Tree ......
题解 全套 ABC 334

C++(指针常量、常量指针)

在C++中,常量指针和指针常量是两个不同的概念,它们涉及到指针和常量的组合。让我们来详细解释它们的含义: 常量指针(Constant Pointer): 一个常量指针是指针本身是常量,它指向的内容可以被修改。 一旦指针被初始化指向某个变量,就不能再指向其他变量。 通过指针可以修改所指向的变量的值。 ......
常量 指针

线段树板子

package ICPC; import java.util.*; import java.math.*; import java.io.*; import java.text.DecimalFormat; import java.text.NumberFormat; class node{ int ......
线段 板子

题解 ABC334F【Christmas Present 2】

设 \(f_i\) 表示假设只有编号为 \(1\sim i\) 的点,此时的答案。\(f_n\) 即为所求。 显然有: \[f_i=\min\limits_{i-k\le j < i}\{f_j+dis(s\to j+1\to j+2\to\cdots\to i)\}+dis(i\to s) \]当 ......
题解 Christmas Present 334F ABC

题解 ABC334E【Christmas Color Grid 1】

先求出初始时绿连通块数量。 枚举每个红色格子,将其染成绿色本应增加一个绿连通块,但是它每与一个绿连通块相邻,就又会减少一个绿连通块。根据上述规则可以求出每个红色格子染绿后的绿连通块数量,求平均值即可。 时间复杂度 \(O(nm)\)。 // Problem: E - Christmas Color ......
题解 Christmas Color 334E Grid

题解 ABC334G【Christmas Color Grid 2】

先求出初始时绿连通块数量。 将一个绿色格子染成红色,会改变绿连通块数量,当且仅当这个绿色格子是孤点或割点。如果是孤点,会使得绿连通块数量减少一;如果是割点,会使得绿连通块数量增加它所在的点双数量减一。根据上述规则可以求出每个绿色格子染红后的绿连通块数量,求平均值即可。 时间复杂度 \(O(nm)\) ......
题解 Christmas Color 334G Grid

双指针算法-最长不重复子序列

思路 这里的 i 才是主要的遍历指针, j 是用来剔除元素以满足题目要求的。 代码 #include<iostream> using namespace std; const int N = 1e5 + 10; int n, res; int a[N], s[N]; int main() { cin ......
指针 序列 算法

ABC251G

提供一个本质相同,但是不需要会向量也能做,而且很好想的方法。 首先发现凸包点少,也就意味着边少,考虑从边的方向寻找突破口。 考虑一个凸包的本质:若干个直线划分出若干个半平面,它们的交即为这个凸包。如果一个点对于每一条直线,都在于凸包的同侧,那么这个点就在这个凸包内。 这样直接暴力做仍然是 \(O(n ......
251G ABC 251

ABC321G

其实赛时可能可以做出来的,只是打了前 6 道想下班了,有点小小遗憾。 首先问题看起来很唬人,考虑转换一下。考虑已经固定 \(m\) 条边,对于一个集合 \(S\),什么时候会不与其他点有边。容易发现,此时需要满足 \(\sum[R_i\in S]=\sum [B_j\in S]\)。记这个数为 \( ......
321G ABC 321
共2096篇  :4/70页 首页上一页4下一页尾页