368专题

Codeforces Round #368 (Div. 2)(D. Persistent Bookcase 离线 转化DAG)

题目链接 给出n*m的书架,4种操作 1,x,y,如果(x,y)空,该位置则放一本书 2,x,y,如果(x,y)不空,该位置拿走一本书 3,x, 把这一层有书的拿出,没书的放上书,即反转 4,x, 返回到第x操作后的书架的状态 初始书架是空的,要注意一点的是,题目可能在没书的地方拿书,有书的地方放书,明显这样的操作是不成功的,没影响的,所以要标记一下。 麻烦的是第4操作,无法记录每次

Codeforces Round #368 (Div. 2)(C. Pythagorean Triples 勾股数规律)

题目链接 给出一个数,输出2个数,使得这三个数是勾股数 形如2n,n^2-1,n^2+1可以组合成勾股数,这是偶数的情况 奇数的时候看个例子 3, 4 , 5 | 4 = (1+3) * 1 5,12,13 | 12 = (1+5)*2 7,24,25 | 24 = (1+7)*3 9,40,41 | 40 = (1+9)*4 … 第二列数就是第一列数在以3为首项的等差数列中的位

Codeforces Round #368 (Div. 2)(B. Bakery 贪心)

题目链接 给出n个城市,m条道路,然后选择k个城市中的一个作为仓库,然后选择k个城市之外的一个城市作为商店,问这2个城市最短距离,图可能是不连通的,误解输出-1 直接贪心,遍历一遍k个城市,找到与之相连的且不是这k个城市之一的,最短的一个城市 #include<bits/stdc++.h>using namespace std;#define cl(a,b) memset(a,b,siz

Codeforces Round #368 (Div. 2)(A. Brain's Photos)

题目链接 给出一个n*m的图,判定是不是黑白图像,黑白图像是只含有W,B,Y的一种或多种 要认真读题,很多人hack成功,因为很多人没看到Y #include<bits/stdc++.h>using namespace std;#define cl(a,b) memset(a,b,sizeof(a))#define fastIO ios::sync_with_stdio(false);

ABC 368 G - Add and Multiply Queries

原题链接:G - Add and Multiply Queries 题意:给出数组a和b,三种操作,第一种:以 1 i x 的形式给出。用x替换ai​。第二种:以 2 i x 的形式给出。用x代替 bi​ 。第三种:以3 l r的形式给出,初始值为0,从l到r每个位置上可以选择加上a[i],或者乘上b[i],输出最大值。 思路:链表+set+树状数组+二分。题目中给出了答案的范围不会超过1e1

Golang | Leetcode Golang题解之第368题最大整除子集

题目: 题解: func largestDivisibleSubset(nums []int) (res []int) {sort.Ints(nums)// 第 1 步:动态规划找出最大子集的个数、最大子集中的最大整数n := len(nums)dp := make([]int, n)for i := range dp {dp[i] = 1}maxSize, maxVal := 1, 1f

AtCoder Beginner Contest 368 题解思路(A-D,F)

AtCoder Beginner Contest 368 题解&&思路(A-D,F) A - Cut 题目描述 有 N N N 个数在一个桶里面,从上往下第 i i i 个数是 A i A_i Ai​,从桶下面取出 K K K 个数,保持原顺序放在桶的上面,从上到下打印写在卡片上的整数。 思路 时间复杂度 O ( N ) . \mathcal{O}(N). O(N). 本质上

Hitachi Vantara Programming Contest 2024(AtCoder Beginner Contest 368)ABCDEF

前言 F比E简单多了,难评 A题:Cut 题意 给定n张卡片,将后m张卡片按顺序放置到顶部,按顺序输出卡片id 思路 更改输出方式即可 代码 inline void solve() {int n, m; cin >> n >> m;vector<int> a(n + 1);for (int i = 1; i <= n; i ++ ) cin >> a[i];for (int i =

C语言 | Leetcode C语言题解之第368题最大整除子集

题目: 题解: int cmp(int* a, int* b) {return *a - *b;}int* largestDivisibleSubset(int* nums, int numsSize, int* returnSize) {int len = numsSize;qsort(nums, numsSize, sizeof(int), cmp);// 第 1 步:动态规划找出最

LintCode 368. 表达式求值 JavaScript算法

描述 给一个用字符串表示的表达式数组,求出这个表达式的值。 说明 表达式只包含整数, +, -, *, /, (, ). 样例 - 样例 1:对于表达式 `2*6-(23+7)/(1+2)`,输入: ["2", "*", "6", "-", "(","23", "+", "7", ")", "/", "(", "1", "+", "2", ")"]输出: 2- 样例 2:对于表达式

名画368 杜湘《山水册页七开》

清 杜湘 山水册页(7开),纸本 水墨 设色 25.7x16.2厘米,美国大都会艺术博物馆藏。 杜湘,字渔偕,广东番禺(今广州)人。嘉庆二十五年生,同治六年(1867)举人,工画山水。 画中山石,大景用卷云皴,有卷曲流动之感,树木的质感,也曲折回环,和山石相映成趣。松树的枝叶,渲染点画,郁郁苍苍,很好地平衡了山石的扭动之势。 日山山红叶,画家也将基色设为淡淡的暖橘色,用不同颜色渲染出

Leetcode---368周赛

题目列表 2908. 元素和最小的山形三元组 I 2909. 元素和最小的山形三元组 II 2910. 合法分组的最少组数  2911. 得到 K 个半回文串的最少修改次数 一、元素和最小的山形三元组I   没什么好说的,不会其他方法就直接暴力,时间复杂度O(n^3),代码如下 class Solution {public:int minimumSum(vector<int>

Leetcode第 368 场周赛

元素和最小的山形三元组 II 预处理前缀和后缀最小值,记为pre[i]和sa[i] 对于当前编号i,如果前面的最小值和后面的最大值都小于nums[i],则记录ans[i] = nums[i]+pre[i-1]+sa[i+1] 结果输出最小的ans[i]即可。 合法分组的最少组数 统计每一个数字出现的次数。将每一个数字分为大小为 d d d或 d + 1 d+1 d+1的组,令 d d d尽可

Leetcode周赛368补题(3 / 3)

目录 1、元素和最小的山型三元组 | - 三层for暴力循环 2、元素和最小的山型三元组 || - 维护前后最小值 遍历 3、合法分组的最少组数 - 思维 + 哈希表 1、元素和最小的山型三元组 | - 三层for暴力循环 100106. 元素和最小的山形三元组 I class Solution {public int minimumSum(int[] nums) {int m

【LeetCode周赛】LeetCode第368场周赛

目录 元素和最小的山形三元组 I元素和最小的山形三元组 II合法分组的最少组数 元素和最小的山形三元组 I 给你一个下标从 0 开始的整数数组 nums 。 如果下标三元组 (i, j, k) 满足下述全部条件,则认为它是一个山形三元组 : i < j < k nums[i] < nums[j] 且 nums[k] < nums[j] 请你找出nums中元素和最小的山形三元组,并

368周赛leetcode

1 2题元素和最小的山形三元组 经典动规 题目内容 给你一个下标从 0 开始的整数数组 nums 。 如果下标三元组 (i, j, k) 满足下述全部条件,则认为它是一个 山形三元组 : i < j < k nums[i] < nums[j] 且 nums[k] < nums[j] 请你找出 nums 中 元素和最小 的山形三元组,并返回其 元素和 。如果不存在满足条件的三元组,返回 -