ACM
文章平均质量分 66
ljq真的不能再吃了
珍惜每一天
展开
-
Educational Codeforces Round 104 (Rated for Div. 2) A-E 题解
A. Arena介绍了一下博弈的规则 我们发现只有从顺序第二个不同的数的人开始 有机会获胜 因为他可以不断找比自己积分少的人单挑#include<cstdio>#include<iostream>#include<vector>#include<map>#include<set>#include<stack>#include<algorithm>#include<cstring>#includ原创 2021-03-13 15:33:33 · 222 阅读 · 0 评论 -
Codeforces Round #702 (Div. 3) A-G
A. Dense Array给你 nnn 个数的数组,定义数组有效为任意两个相邻的数 max(arr[i],arr[i−1])/min(arr[i],arr[i−1])<=2max(arr[i],arr[i-1])/min(arr[i],arr[i-1]) <= 2max(arr[i],arr[i−1])/min(arr[i],arr[i−1])<=2 那么按照题意check 补数即可,注意要从小的去不断的乘2去构造,大的 / 2 会有精度损失#include<cstdio>原创 2021-03-12 15:50:44 · 168 阅读 · 0 评论 -
Codeforces 1492 E Almost Fault-Tolerant Database
E. Almost Fault-Tolerant Database这题给你 n∗mn*mn∗m 个数,问你能否找到一行 mmm 个数,使得这 mmm 个数与每一行不同的数不超过 222 个我们先考虑答案肯定和第一行不超过两个数(如果存在) 那么我们去拿第一行假设作为答案与其余行求 maxdiffmaxdiffmaxdiff 如果 maxdiffmaxdiffmaxdiff >= 555 肯定无解,因为你只能换两个位置 5−2=3>=25-2=3 >= 25−2=3>=2 那么当原创 2021-03-11 23:05:50 · 187 阅读 · 0 评论 -
codeforces 1496 D. Let‘s Go Hiking
D. Let’s Go Hiking博弈规则读题即可这边给出解题性质 首先如果有最长路 统一默认起点在左边的话 肯定不会有大于111条的不同起点的最长路 否则后手选其他最长路即可那么我们只要判断是否最长路满足左边与右边相等(如果不相等 后手只要从唯一的奇数里倒数第二个点出发 强行把这条路构造成偶数 后手就赢了) 并且是奇数(奇数保证先手赢)#include<cstdio>#include<vector>#include<cstring>#include<原创 2021-03-10 23:02:37 · 372 阅读 · 4 评论 -
Codeforces Round #706 (Div. 2) A-D
A. Split it!题意给你 nnn 长度的字符串,问是否满足找出 kkk 个字符串 满足这 kkk个字符串作为前缀 与其翻转作为后缀 中间拼第 k+1k+1k+1 个字符串组成 我们按题意枚举即可#include<cstdio>#include<vector>#include<cstring>#include<iostream>#include<map>#include<set>#include<vector原创 2021-03-10 23:01:06 · 197 阅读 · 0 评论 -
Codeforces Round #705 (Div. 2) A-D
明显感觉到码力下降了 需要老年人康复训练计划这场码力比较大 需要思维比较巧来减少码力 算是少见的cf div2了A. Anti-knapsack给你 nnn 和 kkk ,问是否有办法找出最大的集合使得集合中任意子集和不为k 我们发现每次分奇偶去掉 m/2m/2m/2 (分奇偶),那么也意味着 i<=m/2i <= m/2i<=m/2 (分奇偶)也凑不出来 毕竟按照我们的定义可以无限递归下去 这样我们凑 m=11m = 11m=11 的时候, 11=1+3+711 = 1 + 3 +原创 2021-03-10 16:32:55 · 166 阅读 · 0 评论 -
AtCoder Beginner Contest 194 D-E
Journey给你nnn个点的图,你一开始在第一个点,问你将图变成全联通的期望为多少我们先思考下这个问题:给你nnn个点,你每次可以随机涂一个,问你将所有点涂上颜色的期望为多少期望dpdpdp通常反着求解 设dp[i]dp[i]dp[i] 代表涂好iii个点后将nnn个点涂上颜色的期望,那么dp[n]dp[n]dp[n] = 000 ,dp[i]dp[i]dp[i] = (i/n)dp[i](i/n)dp[i](i/n)dp[i] + (n−i)/n∗dp[i+1](n-i)/n * dp[i+1](原创 2021-03-08 02:24:25 · 548 阅读 · 2 评论 -
Codeforces Round #703 (Div. 2) A-E 题解
Shifting Stacks给你 n 长度的数组,每个下标包含 000-nnn 个木块 其中可以将某一位置的木块向右边平移 请问是否能凑出高度严格上升的数组 一开始想简单了 直接判断木块的和是否大于 (111+(n−1)(n-1)(n−1))*(n−1)(n-1)(n−1)/2 但是这样是错误的 因为你不能一定凑出这样的排列 假如都在最后一列 所以需要按照符合情况所需最小木板数去做模拟 check#include<cstdio>#include<cstring>#inclu原创 2021-03-08 02:09:29 · 240 阅读 · 0 评论 -
Codeforces 1494D Dogeforces 并查集+构造
Dogeforces题意 老板和员工,老板至少有两个员工,员工不会有下级员工,但是老板可能有自己的老板,那么公司的创始人自然就是树上的顶点 为最大的老板nn的矩阵每个值 Ai,j 代表 i 员工与 j 员工 LCA(他们共同老板)的薪水,那么显然 Ai,i 代表第i个员工的薪水 给你薪水矩阵 构造出公司组织结构Trick:我们发现创始人也就是最大的老板 他是可以连无数条边到自己的下属 于是我们将其单独抽出来 为第 n+1 个公司的人 也为公司创始人 这个矩阵是角平分线对称的 所以我们只需要考虑右上的情原创 2021-03-03 19:08:34 · 323 阅读 · 1 评论 -
Educational Codeforces Round 105 (Rated for Div. 2) A-D题解
A. ABC String题意 给你一个只包含 A、B、C的字符串,每类字符都有可能代表左右括号中的一种,问你是否能找到一个方式使得括号匹配合法三个字符,每个字符有两种情况 总计 2^3 = 8次枚举 + 判断括号匹配合法性即可#include<cstdio>#include<cstring>#include<vector>#include<cmath>#include<iostream>#include<algorithm&原创 2021-03-03 19:07:02 · 352 阅读 · 1 评论 -
Codeforces Global Round 13 A-E题解
A01序列,一个操作对某一位取反,一个操作问你当前第k大是多少维护一个当前最后一个1所在排名#include <cstdio>using namespace std;const int MAX_N = 100025;int arr[MAX_N];int main(){ int n,m,sum = 0; scanf("%d%d",&n,&m); for(int i = 1;i<=n;++i) { scanf("%原创 2021-03-02 13:42:52 · 317 阅读 · 0 评论 -
Codeforces Round #704 (Div. 2) A-E题解
A Three swimmers题意 三个人每人游一个来回时间分别是a、b、c,那么在 a、b、c的倍数时间点上 三个人均会在左边的点,题目问你p时刻来 还要等多久最快遇到三个人 1e18 除法判断是否整除相减即可#include<cstdio>#include<vector>#include<cstring>#include<cmath>#include<iostream>#include<queue>using na原创 2021-03-02 01:58:25 · 158 阅读 · 0 评论 -
伙计们我回来了
伙计们我回来了回来了 回来了 回来了 好!原创 2021-02-05 20:33:20 · 228 阅读 · 3 评论 -
新生活开始啦!大家也要加油
2020 年到了自己也开始新生活了再见 ACM .你好 新生活@zly @syh @biubiubiu @nitrogens @lls 新的篇章啦原创 2020-01-21 15:30:24 · 251 阅读 · 0 评论 -
CERC2017 I: Intrinsic Interval 线段树
CERC2017I题目是求最小的好区间好区间就是一段区间都是连续的数 对于好区间显然有个数据结构叫析和树是可以求解的但是我们用线段树怎么处理呢首先我们知道 好区间 l 到 r是满足区间maxx-区间minn = r - l然后我们又知道 两个好区间的交 一定也是好区间反证法:假如这个交不是好区间 差几个数 那么这几个数如果在左边 那么和右边的数就不能构成好区间所以两个好区间的交也一定...原创 2019-11-01 11:57:39 · 279 阅读 · 0 评论 -
Uva 1587 白书第三章 盒子Box
1587 BoxIvan works at a factory that produces heavy machinery. He has a simple job — he knocks up woodenboxes of different sizes to pack machinery for delivery to the customers. Each box is a rectangu...原创 2018-06-04 09:05:28 · 570 阅读 · 0 评论 -
计蒜客习题 排序 离散化加树状数组求逆序对
经典题了下面代码应该好懂我用的是映射的离散化注意先查询再插入#include <cstdio>#include <cstring>#include <iostream>#include <cmath>#include <algorithm>#include <map>using namespace std;int...原创 2018-06-11 11:26:23 · 145 阅读 · 0 评论 -
计蒜客习题 学校的宣传板 离散化裸题
题意就是给你一个高长固定的模板 从先到后向n个区域贴广告纸后面的会覆盖前面的 问你能看见多少个 看见一个小边也算那么这题我们怎么看呢数据长会很大 但是我们发现最多用2e4个 所以离散化 离散化之后按题意从后往前找有没有被覆盖的广告版就行了注意是从后往前#include <cstdio>#include <cstring>#include <iostream>...原创 2018-06-11 14:07:31 · 200 阅读 · 0 评论 -
树状数组 单点更新 区间更新 单点查询 区间查询 学习笔记
单点更新 没啥好说的区间更新的时候我们只能对前缀和建树 那么我们建树呢?运用差分delta[i]=a[i]-a[i-1]那么delta的合不就是a[i]了吗 单点查询不就做到了吗 对这样建立的一棵树 我们只需要 让s后面+val,t+1后面-val 代表a[s]-a[s-1]多了val a[t+1]-a[t]少了val板子#include <iostream> using na...原创 2018-06-11 16:39:58 · 388 阅读 · 0 评论 -
HDU 1542 Atlantis 线段树 扫描线 离散化
AtlantisTime Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8998 Accepted Submission(s): 3856Problem DescriptionThere are several ancient Greek t...原创 2018-06-11 19:57:41 · 214 阅读 · 0 评论 -
线段树 扫描线总结 学习笔记
看了若干神牛的文章 对线段树的扫描线总算入门了求面积就是离散化坐标 从下往上离散横坐标 水平扫描离散纵坐标 从下往上为例 下边定义值为1 上边定义值为-1在扫的过程中就能通过更新操作得到底边长 用高度差相乘就是面积其实还是比较好实现的 板子代码using namespace std; #define lson l , m , rt << 1 #define rson m...原创 2018-06-11 20:09:46 · 252 阅读 · 0 评论 -
计蒜客习题 矩形的面积并
简单的线段树加扫描线离散化板子题#include <cstdio>#include <iostream>#include <cstring>#include <cmath>#include <algorithm>using namespace std;#define lson l , m , rt << 1#de...原创 2018-06-12 10:10:12 · 320 阅读 · 0 评论 -
Codeforces Round #487 (Div. 2)补题博客
A. A Blend of Springtimetime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputWhen the curtains are opened, a canvas unfolds outside. Kanno marvels at al...原创 2018-06-12 00:12:38 · 484 阅读 · 0 评论 -
计蒜客习题 矩形的周长并 线段树 线扫描 离散化
以前以为胡浩大神的点树我改成区间树 结果这题最后一个数据竟然爆了以后还是老老实实用点树把这饭真香#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;#define lson l , m , rt <&...原创 2018-06-12 00:36:48 · 222 阅读 · 0 评论 -
River Hopscotch 二分查找
Description Every year the cows hold an event featuring a peculiar version of hopscotch that involves carefully jumping from rock to rock in a river. The excitement takes place on a long, straight ri...原创 2018-06-05 13:59:39 · 133 阅读 · 0 评论 -
Drying 二分查找
B - Drying 算比较裸的二分查找了 注意数据大小 会爆int 然后注意洗衣机除法的处理(因为相当于洗衣机多了d-1功率 但是要处理小数部分 我才用的是分子-1 再加一还有洗衣机功率要是是1 要防止除以0 再结合实际意义具体请看代码#include <cstdio>#include <iostream>#include <cstring>#inclu...原创 2018-06-05 14:38:12 · 356 阅读 · 0 评论 -
HDU 4027 Can you answer these queries? 线段树 区间修改与查询
Can you answer these queries?Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65768/65768 K (Java/Others)Total Submission(s): 8122 Accepted Submission(s): 1845Problem DescriptionA lot of bat...原创 2018-06-12 20:34:30 · 247 阅读 · 0 评论 -
计蒜客 字典树 糟糕的bug
题目来源:计蒜客https://www.jisuanke.com/minicourse/812/42071蒜头君作为蒜厂的工程师,在开发网站时不小心写出了一个 Bug:当用户输入密码时,如果既和自己的密码一致,也同时是另一个用户密码的 前缀 时,用户会跳转到 404 页。然而蒜头君坚称:我们的用户那么少,怎么可能触发这个 Bug……机智的你,能不能帮蒜头君确认一下这个 Bug 到底会不会触发呢?样...原创 2018-06-05 23:41:39 · 150 阅读 · 0 评论 -
转 二维线段树 解决矩形区域最大问题
二维线段树 二维线段树最主要用于平面统计问题。类似一维线段树,最经典的就是求区间最值(或区间和),推广到二维,求得就是矩形区域最值(或矩形区域和),对于矩形区域和,二维树状数组更加高效,而矩形区域最值,更加高效的方法是二维RMQ,但是二维RMQ不支持动态更新,所以二维线段树还是有用武之地的。 如果对一维线段树已经驾轻就熟,那么直接来看下面两段对比,就可以轻松理解二维线段树了。 ...转载 2018-06-12 22:49:03 · 690 阅读 · 0 评论 -
UVA 11992 Fast Matrix Operations
Fast Matrix OperationsThere is a matrix containing at most 106 elements divided into r rows and c columns. Each element has a location (x,y) where 1<=x<=r,1<=y<=c. Initially, all the eleme...原创 2018-06-13 00:49:02 · 121 阅读 · 0 评论 -
POJ 3667 HOTEL
HotelTime Limit: 3000MS Memory Limit: 65536KTotal Submissions: 19502 Accepted: 8491DescriptionThe cows are journeying north to Thunder Bay in Canada to gain cultural enrichment and enjoy a vacation on...原创 2018-06-13 11:18:38 · 211 阅读 · 0 评论 -
POJ 3468 线段树区间更新 懒惰标记 区间求和
A Simple Problem with IntegersTime Limit: 5000MS Memory Limit: 131072KTotal Submissions: 132386 Accepted: 41056Case Time Limit: 2000MSDescriptionYou have N integers, A1, A2, ... , AN. You need to deal...原创 2018-06-13 11:38:55 · 158 阅读 · 0 评论 -
POJ 2777 Count color 统计颜色 线段树
Count ColorTime Limit: 1000MS Memory Limit: 65536KTotal Submissions: 50214 Accepted: 15139DescriptionChosen Problem Solving and Program design as an optional course, you are required to solve all kind...原创 2018-06-13 15:25:25 · 171 阅读 · 0 评论 -
2018年湘潭大学程序设计竞赛 H题统计颜色题解
链接:https://www.nowcoder.com/acm/contest/105/H来源:牛客网时间限制:C/C++ 1秒,其他语言2秒空间限制:C/C++ 32768K,其他语言65536K 64bit IO Format: %lld题目描述n个桶按顺序排列,我们用1~n给桶标号。有两种操作: 1 l r c 区间[l,r]中的每个桶中都放入一个颜色为c的球 (1≤l,r ≤n,l≤r,0...原创 2018-06-13 15:35:28 · 271 阅读 · 0 评论 -
FOJ 1921 栀子花开 线段树裸题
Problem 1921 栀子花开Accept: 345 Submit: 1219Time Limit: 1000 mSec Memory Limit : 32768 KB Problem Description这是一个栀子花开的季节,也是一个离别的季节,四年一千多个日日夜夜,那校园的角角落落,留下了我们沉思的身影;那上百次的成绩排名表,印证了我们深深浅浅不断进步的轨迹,但是这些进步...原创 2018-06-13 16:26:01 · 263 阅读 · 0 评论 -
HDU 1754 线段树裸题
I Hate ItTime Limit: 9000/3000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 94995 Accepted Submission(s): 35953Problem Description很多学校流行一种比较的习惯。老师们很喜欢询问,从某某到某某当...原创 2018-06-13 16:46:59 · 132 阅读 · 0 评论 -
HDU 3308 LCIS 线段树维护区间LCIS
LCISTime Limit: 6000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 8537 Accepted Submission(s): 3662Problem DescriptionGiven n integers.You have two operati...原创 2018-06-13 19:59:53 · 172 阅读 · 0 评论 -
POJ 2976 Dropping tests 二分
In a certain course, you take n tests. If you get ai out of bi questions correct on test i, your cumulative average is defined to be.Given your test scores and a positive integer k, determine h...原创 2018-06-06 22:53:13 · 132 阅读 · 0 评论 -
POJ 3111 K best 二分
Demy has n jewels. Each of her jewels has some value vi and weight wi.Since her husband John got broke after recent financial crises, Demy has decided to sell some jewels. She has decided that sh...原创 2018-06-06 23:04:03 · 132 阅读 · 0 评论 -
POJ 3579 Median 查找第k大的值
G - Median 我们都知道 找中间这个数 那就用二分查找确定这个数关键是确定他是不是第k个可以用for循环遍历跑也可以直接用upper_bound 时间复杂度一样的看代码吧#include <cstdio>#include <iostream>#include <cstring>#include <cmath>#include <...原创 2018-06-06 23:09:30 · 170 阅读 · 0 评论