约数 区间codeforces divisors

hdu-4533(线段树+区间合并)

约会安排 HDU - 4553 跟hdu-1540(线段树+区间合并) - 魏老6 - 博客园 (cnblogs.com)是一样,但是要写两个线段树。 线段树维护,最长前缀pre,最长后缀suf,以及最大连续连续区间sum。 1代表空,0代表时间被占了 还有几个注意事项: 当是DS时,只能查询和修改 ......
线段 区间 4533 hdu

Codeforces Round 864 (Div. 2)

题解报告 基本的一些理解和问题都在注释中 A:Li Hua and Maze 就是判断把其中一个点围起来所需要的最小的格子,考虑下边界的情况就行了 #include <bits/stdc++.h> using namespace std; int main(void) { ios::sync_wit ......
Codeforces Round 864 Div

Codeforces Round 864 (Div. 2) E. Li Hua and Array

Codeforces Round 864 (Div. 2E. Li Hua and Array)(暴力修改线段树+lca和数论的结合) Example input 5 4 8 1 6 3 7 2 1 5 2 3 4 1 1 3 2 3 4 output 10 2 1 Solution 首先你得知道什 ......
Codeforces Array Round 864 Div

Codeforces Round 865 (Div. 2)

Codeforces Round 865 (Div. 2) A. Ian Visits Mary void solve(){ int x=read(),y=read(); if(__gcd(y,x)!=1){ cout<<2<<endl; cout<<1<<" "<<y-1<<endl; cout< ......
Codeforces Round 865 Div

Codeforces Round 863 (Div. 3)

题解报告 基本的一些理解和问题都在注释中 A:Insert Digit 找到第一个小于输入数字的数的位置塞进去就好了,可以细推,但是粗略想想也能知道 #include <bits/stdc++.h> using namespace std; int main(void) { ios::sync_wi ......
Codeforces Round 863 Div

Codeforces Round 864 (Div. 2) C和D

比赛地址 C. Li Hua and Chess 题意:给出一个棋盘长宽n,m,有一颗棋子在棋盘上,向八个方向走一步的路程代价都为1,现在进行最多3次询问,问能否确认棋子的位置 Solution 第一次做交互题,想很好想,先询问(1,1),得到x,再询问(1+x,1+x),得到y,最后询问(1+x, ......
Codeforces Round 864 Div

leetcode56.合并区间-java

1 class Solution { 2 public int[][] merge(int[][] intervals) { 3 /* 4 思路:左区间排序,若intervals[i][0] >= intervals[i-1][1]; 则重叠 5 将重叠区间新建放入res数组里,没重叠则放入原数组 ......
区间 leetcode java 56

Codeforces Round 860 (Div. 2)

Codeforces Round 860 (Div. 2) Date: 04/08/2023 Link: Codeforces Round 860 (Div. 2) A|Showstopper Brief: 两组数 ${a_i}$ 和 ${b_i}$,长度都为 $n$. $\forall i$ , ......
Codeforces Round 860 Div

Codeforces Round 864 (Div. 2)

评价:A~E 感觉出的挺一般,~~特别是 D 怎么放这种暴力题,场上我还没调出来~~,F 没看。但是 Orz rui_er。 A 在一个点周围放障碍即可。 B 求出最少需要的操作次数 $p$,若 $p > k$ 就无解,否则若 $n$ 为偶数只能任选一个格子翻偶数次,即有解当且仅当 $2 \mid ......
Codeforces Round 864 Div

Codeforces 847 Div3 题解A-G

Codeforces 847 Div3 题解A-G 好久不打了,这几周忙着写各种作业,然后发现代码力跟不上了。今天复健一下吧。反正也是比较碎片的时间,马上新的作业就会被布置下来,n久没打了就来看下。所以这次先捡div3复键一下,之后暑假等实习了到时候得认真上上div2,不然秋招g咯。 A. Poly ......
题解 Codeforces Div3 847 A-G

Codeforces Round 864 (Div. 2)

Codeforces Round 864 (Div. 2) 赛前就留了3个cpp,结果就做出来3个。 不得不说lihua确实呃呃。 A 题面的描述方法以及给出的样例好有迷惑性啊, 其实答案根本不会超过4,把某一个格子周边全部围起来就行了。也就是下面最后2个花括号里面的内容。 int main() { ......
Codeforces Round 864 Div

Codeforces Round 864 (Div. 2) 中文题解

Codeforces Round 864 (Div. 2) 中文题解 A. 李华与迷宫 在 $(x_1,y_1)$ 或 $(x_2,y_2)$ 周围放障碍,更优的那个就是答案。换句话说,定义: $$ f(x,y)= \begin{cases} 2,&(x,y)\text{在角上}\ 3,&(x,y) ......
题解 Codeforces Round 864 Div

Codeforces Round 864 (Div. 2) 中文题面

Codeforces Round 864 (Div. 2) 中文题面 A. 李华与迷宫 有一个大小为 $n\times m$ 的矩形迷宫。称两个格子相邻,当且仅当它们有一条公共边。定义一条路径为若干相邻空格子的序列。 每个格子初始为空。李华可以在若干个格子中放置障碍物。他希望知道最少需要放置多少个障 ......
Codeforces Round 864 Div

线段树历史区间最值

前情提要 本来是想去打可持久化线段树的,然后发现线段树还有一个类型,就先去打这个了,没想到一打就是一周啊QAQ。 P6242 【模板】线段树 3 1 l r k:对于所有的 $i\in[l,r]$,将 $A_i$ 加上 $k$($k$ 可以为负数)。 2 l r v:对于所有的 $i\in[l,r] ......
线段 区间 历史

poj-3367(线段树+区间合并)

Hotel POJ - 3667 思路:与hdu-1540(线段树+区间合并) - 魏老6 - 博客园 (cnblogs.com)类似,只不过是区间修改,多维护一个最大连续区间sum。 #define _CRT_SECURE_NO_WARNINGS 1 #include<algorithm> #in ......
线段 区间 3367 poj

【牛客小白月赛70】A-F题解【小d和超级泡泡堂】【小d和孤独的区间】【小d的博弈】【小d和送外卖】

比赛传送门:https://ac.nowcoder.com/acm/contest/53366 难度适中。 🎈 作者:Eriktse 🎈 简介:19岁,211计算机在读,现役ACM银牌选手🏆力争以通俗易懂的方式讲解算法!❤️欢迎关注我,一起交流C++/Python算法。(优质好文持续更新中…… ......
题解 泡泡堂 区间 泡泡 A-F

Edu Round 板刷计划 4. Educational Codeforces Round 4 题解

Change Log: 2023.04.06 开坑. A - The Text Splitting 弱智题. 枚举分出来多少个长度为 $p$ 的串,则能计算出长度为 $q$ 的串有多少个,若合法则直接输出即可. 无解输出 -1. Sample submission. B - HDD is Outda ......
板刷 题解 Round Educational Codeforces

codeforces 1804D Accommodation

https://codeforces.com/problemset/problem/1804/D 解题思路 每个楼层是独立的,考虑怎么解决一层就可以了。 求最大值就是尽量避免1和1合并,也就是尽量在不存在连续1的子序列中进行合并,如果还有需要合并的就只能用1和1合并。求最小值就是尽量合并1和1。由于 ......
Accommodation codeforces 1804D 1804

Educational Codeforces Round 146 (Rated for Div. 2)

A. Coins #include <bits/stdc++.h> using namespace std; #define int long long int read() { int x = 0, f = 1, ch = getchar(); while ((ch < '0' || ch > ' ......
Educational Codeforces Round Rated 146

Codeforces Round 857 (Div. 2) A - Likes

Codeforces Round 857 (Div. 2) A - Likes 题意 有 $n$ 个人给你点赞或取消赞,其中 $x$ 表示 $x$ 号人给你点赞, $-x$ 表示 $x$ 号人给你取消赞。在 $n$ 个单位时间中的每一时刻,都会有一个人进行一次操作。请你安排一种顺序,使得你获得的总点 ......
Codeforces Round Likes 857 Div

石子合并 - 区间 DP

石子合并 - 区间动态规划 题意 设有 $N$ 堆石子排成一排,其编号为 $1 \sim N$。 每堆石子有一定的质量,可以用一个整数来描述,现在要将这 $N$ 堆石子合并成为一堆。 每次只能合并相邻的两堆,合并的代价为这两堆石子的质量之和,合并后与这两堆石子相邻的石子将和新堆相邻,合并时由于选择的 ......
区间 石子 DP

区间合并 acwing803

link code #include<bits/stdc++.h> using namespace std; typedef long long ll; int main(){ int n; int ans = 1, tpr = 0; vector<pair<int,int>>v; int l, r ......
区间 acwing 803

hdu-1540(线段树+区间合并)

Tunnel Warfare HDU - 1540 思路: 没被摧毁的村庄为1,否则为0,用len记录 线段树维护区间的两个信息: 前缀最长1的序列pre 后缀最长1的序列suf 父节点与左右子节点的关系: //lc为左节点,rc为右节点 1.若左右结点都不满1,则tr[p].pre = tr[lc ......
线段 区间 1540 hdu

K倍区间

link 代码 #include<iostream> using namespace std; const int N = 100010; int cnt[N]; int main(){ int n, k; cin >> n >> k; long long ans = 0; long long su ......
区间

Codeforces Round 863 (Div. 3)

Codeforces Round 863 (Div. 3) CF传送门 Solution A. Insert Digit 找到第一个比 $d$ 小的数位,插到它前面即可。 B. Conveyor Belts 关键在于:给出坐标 $(x,y)$,如何确定该点在第几层? 首先把坐标换算成以中心为原点的坐 ......
Codeforces Round 863 Div

Educational Codeforces Round 124 (Rated for Div. 2)

题目链接 C 核心思路 其实还是得根据样例,首先我们先自己分析出来。现根据边地数目来分析。 我们其实不难发现四个端点必须得连上边。 边数为2.那么只有两条竖线。方案数是一种 边数为3,那么就一条竖线还有就是一把叉这里交换位置就是两条了。还有就是平行四边形和一条斜线,也是可以交换位置的。这里就有四种。 ......
Educational Codeforces Round Rated 124

代码随想 day36 435. 无重叠区间 | 763.划分字母区间 | 56. 合并区间

给定一个区间的集合,找到需要移除区间的最小数量,使剩余区间互不重叠。 注意: 可以认为区间的终点总是大于它的起点。 区间 [1,2] 和 [2,3] 的边界相互“接触”,但没有相互重叠。 示例 1: 输入: [ [1,2], [2,3], [3,4], [1,3] ] 输出: 1 解释: 移除 [1 ......
区间 随想 字母 代码 day

codeforces 1793D Moscow Gorillas

https://codeforces.com/contest/1793/problem/D 解题思路 依次找出 MEX = 1..n+1的序列数量就能得解。 MEX = n+1 只有全序列这一种情况。 MEX = 1时,找出两个序列中1的位置,较小位置左边的元素构成的子序列,较大位置右边的元素构成的 ......
codeforces Gorillas Moscow 1793D 1793

codeforces 1783D Different Arrays

https://codeforces.com/contest/1783/problem/D 解题思路 比较直白的动态规划问题。记 f[i][j] 表示前 i 个元素组成以 j 结尾的序列可能的数量。那么,当第 i+1 个元素加入序列的时候有两种选择:加上第 i 个元素;减去第 i 个元素。 于是可以 ......
codeforces Different Arrays 1783D 1783

Codeforces Round 863 (Div. 3)(4.5)

Codeforces Round 863 (Div. 3) A - Insert Digit 思路:插到第一个小于它的位置前 #include<bits/stdc++.h> using namespace std; typedef pair<int,int>PII; const int N=1e5+ ......
Codeforces Round 863 4.5 Div