题解day 16 lt
CF594A Warrior and Archer 题解
由于本人在思索了很久后才把本题思路打通,所以为了帮助像我一样没有非常理解解法的人,我打算再将解法非常详细地叙述一遍,如果您无法理解解法,请跟着我再一步步将题目捋顺。 Step.1 解题意 题目要求其实很好理解,共给出 $n$ 个点的位置,A,B两个人轮流取点,A要求最后剩下的两个点尽量近,B要求最后 ......
洛谷 P8918 『MdOI R5』Jump 题解
题目传送门 这一题其实很简单,只是要想到正确方法 ~~我一开始用了奇怪的搜索~~ ①无解的情况: 看上去很离奇,实际上略加思索就会发现,如果输入 $n$ 为偶数,那么就铁定无解。证明过程如下: 令 $n\bmod{2}=0$,人距离 $n$ 点的距离为 $dis$ ,则当走出第一步(步长为 $1$) ......
洛谷 P8762 [蓝桥杯 2021 国 ABC] 123 题解
为什么可以使用前缀和,这里提供解释: 初读题目,我们发现这个数列很迷惑,似乎不能使用数学方法来解。 $$ 1,1,2,1,2,3,1,2,3,4,\cdots $$ 但是,我们可以想到 数形结合 的方式,我们将数列看作一个三角形,于是他变成了: $$1$$ $$1,2$$ $$1,2,3$$ $$1 ......
洛谷 P9009 [入门赛 #9] 牵连的世界 (Hard Version) 题解
~~P9009[入门赛#9],真9。~~ 这是一道 hack 题 ,即你需要自造符合题意的数据使题中所给程序无法 AC。 Task01 看数据范围知一切,显然有 $-2\times 10^9 \le a_i \le 2\times 10^9$,因此 $a_i$ 可能为负数。注意 C/C++ 中的取模 ......
SP181 SCUBADIV - Scuba diver 题解
题目传送门 题目大意 潜水员有 $n$ 个气缸,每个气缸能够提供容量为 $o_i$ 的氧气和容量为 $d_i$ 的氮气,每个气缸的重量为 $w_i$。 给出潜水员所需要的氧气量和氮气量,求所需气缸的总重的最低限度是多少。 解题思路 对于每个气缸,有两种不同的费用:氧气和氮气,需要满足这两个条件,才能 ......
day13| 239.滑动窗口最大值;347.前k个高频元素(一刷至少需要理解思路)
239. 滑动窗口最大值 题目简述: 给你一个整数数组 nums,有一个大小为 k 的滑动窗口从数组的最左侧移动到数组的最右侧。你只可以看到在滑动窗口内的 k 个数字。滑动窗口每次只向右移动一位。 返回 滑动窗口中的最大值 。 思路: 1. 构建两个空列表,一个名为queue,用来存储元素在nums ......
flask_day01
Flask和pythonweb框架介绍 python中的web框架,本质都是一样的 Django:大而全,内置的app多,第三方app也多 Flask:小而精,没有过多的内置组件,只完成web框架最基本的功能,需要借助于第三方,完成更丰富的功能 web.py:是一个小巧灵活的python框架,它简单 ......
c++ primer chapter 16.4
/* #include <iostream>#include <string>#include <vector>#include <list>using namespace std;template <typename I, typename T>I find(I b, I e, const T & ......
一篇关于异或操作的题解 (来源:杭电oj: find your present (2))
害 惭愧惭愧 老长时间没写代码了—————————— 转回正题 ,对于杭电这个题 先说我超时的错误想法 —————————————————————————————————————————————————————————————— 一开始我的想法是开一个大小为1000000的数组。然后每当输入一个数字 ......
算法随想Day53【单调栈】| LC84-柱状图中最大的矩形
int largestRectangleArea(vector& heights) { int result = 0; stack st; heights.insert(heights.begin(), 0); heights.push_back(0); st.push(0); for (int i ......
算法随想Day52【单调栈】| LC503-下一个更大元素Ⅱ、LC42-接雨水
LC503. 下一个更大元素Ⅱ 对于“每日温度”,相当于对nums数组,进行了两次遍历。用i % size所得余数作为下标,且循环的圈数为size * 2 vector<int> nextGreaterElements(vector<int>& nums) { int size = nums.siz ......
算法随想Day51【单调栈】| LC739-每日温度、LC496-下一个更大元素Ⅰ
LC739. 每日温度 vector<int> dailyTemperatures(vector<int>& temperatures) { int size = temperatures.size(); vector<int> result(size, 0); vector<int> sta; s ......
day32(2023.4.1)
1.一对多应答型服务器 随后开启多个客户端,运行结果: 2.一对多聊天服务应用 随后开启多个客户端,运行结果: 3.UDP通信入门案例(创建服务端)了解即可 4.UDP通信入门案例(创建客户端)了解即可 运行结果: day32(2023.4.1)星期六 ......
React 07days
更新流程的步骤: 递:beginWork 归:completeWork beginWork 对于如下结构的reactElement: <A> <B/></A> 当进入A的beginWork时,通过对比B current fiberNode与B reactElement,生成B对应wip fiberN ......
[省选联考 2023]D1 题解
D1T1 P9166 火车站 观察题目,联系到以前做过的一些区间 dp 可以发现如果小 A 可以去到(这里是去到而不是最终停在) $k$ 地点,那么 $x$ 到 $k$ 之间的所有地点他都可以去到,因为火车是连续的,不能跳着走,要来到当前地点必须到过路途中的所有节点。 这样子就好办了,分两次处理往左 ......
day6
1、654 最大二叉树 递归法 构造树一般采用的是前序遍历,因为先构造中间节点,然后递归构造左子树和右子树。 递归三部曲 确定递归函数的参数和返回值 参数传入的是存放元素的数组,返回该数组构造的二叉树的头结点,返回类型是指向节点的指针。 确定终止条件 确定单层递归的逻辑 先要找到数组中最大的值和对应 ......
P6146 [USACO20FEB]Help Yourself G 题解
题目链接 先按左端点从小到大排序。 设 $f(i)$ 表示前 $i$ 条线段的所有子集的复杂度之和。 考虑从 $f(i-1)$ 转移到 $f(i)$,即考虑新加进来第 $i$ 条线段的过程。第 $i$ 条线段加进来所新产生的贡献分两种: 设除了第 $i$ 条线段选中的线段集合为 $S$,则若 $S$ ......
# P4391 [BOI2009]Radio Transmission 无线传输 题解
[BOI2009]Radio Transmission 无线传输 题目描述 给你一个字符串 $s_1$,它是由某个字符串 $s_2$ 不断自我连接形成的(保证至少重复 $2$ 次)。但是字符串 $s_2$ 是不确定的,现在只想知道它的最短长度是多少。 输入格式 第一行一个整数 $L$,表示给出字符串 ......
cout<<endl输出时间过长问题
做oj题目3333的时候发现了使用cout<<endl;爆出TLE错误的情况而使用printf("\n")、cout<<"\n"、cout<<'\n' 以及puts("")都没有这种情况 使用cout<<endl;的情况 使用cout<<"\n";的情况 使用printf("\n");的情况 使用p ......
ubuntu16 共享主机的文件夹(实测有效)
1、主机VM软件开启共享文件夹 1)进入:虚拟机》设置》选项》共享文件夹 2)选择总是启用》点击添加》选择一个主机目录 3)保存目录》下一步》启用此共享》完成 2、ubuntu安装vmtools 1)下载包:进入:虚拟机》重新安装vmtools (如果是灰色的,进入虚拟机设置,启动项改为物理驱动,如 ......
代码随想录Day17-Leetcode110.平衡二叉树,257. 二叉树的所有路径,404.左叶子之和
110.平衡二叉树 题目链接:https://leetcode.cn/problems/balanced-binary-tree/ 一个显然但似乎不太高效的方法是: 通过递归获取左右子树高度,判断差; 然后递归判断左右结点; 那么一个显然的改进就是后序遍历 /** * Definition for ......
4.1 模拟赛题解
A 一模一样讲过 B 先做一遍前缀和将区间和转成两数之差的形式。 cdq 分治,递归时排好序。按顺序枚举左端点,合法的右端点区间单调移动。 C IDA*,容易发现每次翻转并不会打乱中间的铁盘,只会改变下边界的相邻关系。 最终顺序相邻两个铁盘大小相差均为 $1$,所以估价函数设为已操作次数加当前状态相 ......
day11| 20.有效的括号;150.逆波兰表达式求值;1047.删除字符串中的所有相邻重复项
20. 有效的括号 题目简述: 给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号。 思路: 1. 利用一个栈实现 2. 构建 ......
CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!)(CF1810)A~D题题解
今天采用的是新格式。 CF1810A Beautiful Sequence 点击查看原题 点击查看思路 如果一个数字的值 $v$,不大于当前的位置 $p$,那我们可以通过删除 $p - v$ 个数字,使它们两个对应上。 比如 $[1, 7, 2, 5, 3]$ 中的 $3$,其数值为 $3$,位置为 ......
day03
剑指 Offer 05. 替换空格 传送门 题意 请实现一个函数,把字符串 s 中的每个空格替换成"%20"。 分析 代码实现 public String replaceSpace(String s) { StringBuilder sb = new StringBuilder(); for(int ......
CodeTON Round 4 (Div. 1 + Div. 2, Rated, Prizes!) A-D题解
题目地址 A - Beautiful Sequence 题意:给出一个数组,问是否存在任意一个子区间,存在i,使得ai=i Solution 直接比较当前的数和i的大小就行了,当前为x,如果要求答案存在,必须有i>=x void solve() { int n;cin>>n; int flag=0; ......
day02
剑指 Offer 06. 从尾到头打印链表 传送门 题意: 输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。 分析: java代码实现 class Solution{ // 节点定义 // class ListNode{ // int val; // ListNode next; ......
day10| 225.用队列实现栈;232.用栈实现队列
题目简述: 请你仅使用两个队列实现一个后入先出(LIFO)的栈,并支持普通栈的全部四种操作(push、top、pop 和 empty)。 实现 MyStack 类: void push(int x) 将元素 x 压入栈顶。int pop() 移除并返回栈顶元素。int top() 返回栈顶元素。bo ......