• AtCoder Beginner Contest 405 A-D题解

    -> 链接 <- A - Is it rated? 模拟 Code B - Not All 用一个数组记录每个数出现的次数,然后遍历数组,如果某个数出现的次数大于1,则输出该数。 Code C - Sum of Product 题目分析 给长度 NNN 的数组 AAA ,求 ∑1≤i<j≤NAiAj\displaystyle \sum_{1\leq i< j\leq ...
  • ABC398 A-D 题解

    A - Doors in the Center 不用说了吧 Code B - Full House 3 大意:给出7个数,求子序列 [x,x,y,y,y][x,x,y,y,y][x,x,y,y,y] 这题真是太坑了,卡了我三发罚时 除了要考虑要刚刚好满足的情况,还要考虑大于3或2的情况 经典错误: 123456789bool one=0,two=0;loop(i,7) cin >>...
  • Luogu3958 [NOIP2017 提高组] 奶酪 题解

    传送门: 洛谷 GMOJ 前置知识 空间内两点 P1(x1,y1,z1)P_1(x_1,y_1,z_1)P1​(x1​,y1​,z1​)、P2(x2,y2,z2)P2(x_2,y_2,z_2)P2(x2​,y2​,z2​) 的距离公式如下: dist(P1,P2)=(x1−x2)2+(y1−y2)2+(z1−z2)2\mathrm{dist}(P_1,P_2)=\sqrt{(x_1-x_...
  • ABC387 - A

    https://atcoder.jp/contests/abc387/tasks/abc387_a 按题意模拟即可 ans=(a+b)2ans=(a+b)^2 ans=(a+b)2 123456789#include <bits/stdc++.h>using namespace std;int main(){ int a,b; cin >> a ...
  • P9942 [USACO21JAN] Just Stalling B 题解

    GMOJ 洛谷 大意 FJFJFJ 有 NNN 头奶牛,给你第 iii 头奶牛的高度,现在要把它们安排到 NNN 个牛棚中,每个牛棚有高度限制,高度大于这个限制的奶牛不能被安排到这个牛棚中。 现在告诉你每个牛棚的高度限制和每头奶牛的高度,求满足条件的安排方案数。 解法 明显满足乘法原理。 我们先把高度大的奶牛安排了,才能去安排小的,所以一开始先从大到小排序。设第 iii 个奶牛可以入住的牛棚...
  • P7411 [USACO21FEB] Comfortable Cows S 题解

    GMOJ 洛谷 大意 有一个矩阵 TTT, Farmer John 每轮会往 TTT 矩阵中放一个牛,如果这牛旁边恰好有3头牛,则称这个牛是「舒适的」,求每轮 TTT 矩阵中有多少个牛是「舒适的」。 解法 用一个二维数组 BBB 记录这个位置旁有多少头牛,每次添加牛时把四周的位置的 BBB 值加一,然后判断这个位置是否是「舒适的」,如果是,则 ansansans 加一;如果是4,ansans...
  • P9943 [USACO21FEB] Year of the Cow B 题解

    传送门: 洛谷 GMOJ 大意 给出 Farmer John 的农场里每一头牛年龄的关系,求 Bessie 和 Elsie 的年龄相差多少。 解法 先把每头牛的年龄相差算出来,再用类似宽搜的办法算出即可 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051...
  • NOI2001 食物链题解(种类并查集)

    题目传送门:洛谷P2024 && gmoj初中1373 大意 有三种动物分别为A,B,C,关系是:A吃B,B吃C,C吃A。给出K句话,表示每个动物的具体关系,问不成立的关系有多少。 思路 这题要用到一种特殊的并查集:种类并查集。 这种并查集分为多个序列,在本题为ABC三个序列,分别为3个种类的动物。 这种方法处理方式也是很奇怪,即如果一个动物和自己群系的另一个动物(序列)有...
  • 线段树笔记

    线段树 是用于解决区间问题的一种数据结构,用了分治思想。顾名思义“线段树”,它的每个点都是一段线段,维护着一个数组区间。线段树咨询速度很快,修改也很方便。 既然是分治,那么,一个递归操作就包含结束条件、分别递归和合并处理三个部分。 一个最基本的的线段树会包含以下几个函数👇 build() ———— 用于建树 modify() ——— 用于修改单点元素 query() ——— 用于咨询区间...
  • 归并排序

    归并排序 是一种基于分治思想的排序算法。分治,即分而治之。主要原理是先把一个大问题分解为多个小问题,再分别处理,最后合并。 好处 复杂度相对会比快排快一点,也比快排好打 特别是对于不让用Sort的老师需要手打排序的情况下 步骤如下: 把长度为n的数组递归分为n段 (分) 两两和并,每次取两个子序列开头小的数放在一个新序列里 (治) 把新序列覆盖到旧序列 The code there: 1...
12