摘要: 注意二分的范围 #include<iostream> using namespace std; const int N = 100010; int h[N], w[N], n, k; /* 答案二段性:如果一个边长t满足,那么所有小于等于t的边长一定满足, 此时需要找最大的t */ int chec 阅读全文
posted @ 2020-08-29 16:37 yys_c 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 推导过程: 前缀和数组:s[0 ~ n] 计算任意一端区间[l, r] (l, r属于[1 ~ n]) 的和使用公式s[r] - s[l - 1] 设l - 1 = t 本题要枚举r,res += s[t] (t 属于0 ~ r - 1)内的和s[r] 模k同余的数的个数 所以开一个cnt数组记一下 阅读全文
posted @ 2020-08-29 16:22 yys_c 阅读(115) 评论(0) 推荐(0) 编辑
摘要: 给你一个数组 arr ,该数组表示一个从 1 到 n 的数字排列。有一个长度为 n 的二进制字符串,该字符串上的所有位最初都设置为 0 。 在从 1 到 n 的每个步骤 i 中(假设二进制字符串和 arr 都是从 1 开始索引的情况下),二进制字符串上位于位置 arr[i] 的位将会设为 1 。 给 阅读全文
posted @ 2020-08-23 18:18 yys_c 阅读(186) 评论(0) 推荐(0) 编辑
摘要: 一开始用双指针,发现没有单调性,不可以用。但是这种写法有点像双指针,暂时归到双指针。 #include<iostream> #include<map> using namespace std; const int N = 1010; int a[N]; int n; map<int, int> st 阅读全文
posted @ 2020-08-22 22:27 yys_c 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 n个人参加某项特殊考试。 为了公平,要求任何两个认识的人不能分在同一个考场。 求是少需要分几个考场才能满足条件。 输入格式 第一行,一个整数n(1<n<100),表示参加考试的人数。 第二行,一个整数m,表示接下来有m行数据 以下m行 阅读全文
posted @ 2020-08-11 16:32 yys_c 阅读(215) 评论(0) 推荐(0) 编辑
摘要: 四平方和定理,又称为拉格朗日定理:每个正整数都可以表示为至多 4个正整数的平方和。如果把 0包括进去,就正好可以表示为 4个数的平方和。 比如: $5=02+02+12+22$ $7=12+12+12+22$ 对于一个给定的正整数,可能存在多种平方和的表示法。 要求你对 4 个数排序: $0≤a≤b 阅读全文
posted @ 2020-08-11 13:46 yys_c 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 前缀和 #include<iostream> using namespace std; const int N = 1010; int a[N][N]; int n, m, q; int main(){ cin >> n >> m >> q; for(int i = 1; i <= n; i ++) 阅读全文
posted @ 2020-08-10 13:38 yys_c 阅读(280) 评论(0) 推荐(1) 编辑
摘要: #include<iostream> #include<cstdio> using namespace std; int main(){ double n; cin >> n; double l = -10000, r = 10000; while(r - l > 1e-8){ // 由于要保留6位 阅读全文
posted @ 2020-08-10 13:04 yys_c 阅读(97) 评论(0) 推荐(0) 编辑
摘要: 给定一个按照升序排列的长度为n的整数数组,以及 q 个查询。对于每个查询,返回一个元素k的起始位置和终止位置(位置从0开始计数)。如果数组中不存在该元素,则返回“-1 -1”。 输入格式 第一行包含整数n和q,表示数组长度和询问个数。 第二行包含n个整数(均在1~10000范围内),表示完整数组。 阅读全文
posted @ 2020-08-10 12:57 yys_c 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 给定一个二维网格和一个单词,找出该单词是否存在于网格中。 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中“相邻”单元格是那些水平相邻或垂直相邻的单元格。同一个单元格内的字母不允许被重复使用。 示例: board = [ ['A','B','C','E'], ['S','F','C','S' 阅读全文
posted @ 2020-08-08 14:42 yys_c 阅读(77) 评论(0) 推荐(0) 编辑