-> 链接 <-
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 ...
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 >>...
传送门:
洛谷
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_...
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 ...
GMOJ
洛谷
大意
FJFJFJ 有 NNN 头奶牛,给你第 iii 头奶牛的高度,现在要把它们安排到 NNN 个牛棚中,每个牛棚有高度限制,高度大于这个限制的奶牛不能被安排到这个牛棚中。
现在告诉你每个牛棚的高度限制和每头奶牛的高度,求满足条件的安排方案数。
解法
明显满足乘法原理。
我们先把高度大的奶牛安排了,才能去安排小的,所以一开始先从大到小排序。设第 iii 个奶牛可以入住的牛棚...
GMOJ
洛谷
大意
有一个矩阵 TTT, Farmer John 每轮会往 TTT 矩阵中放一个牛,如果这牛旁边恰好有3头牛,则称这个牛是「舒适的」,求每轮 TTT 矩阵中有多少个牛是「舒适的」。
解法
用一个二维数组 BBB 记录这个位置旁有多少头牛,每次添加牛时把四周的位置的 BBB 值加一,然后判断这个位置是否是「舒适的」,如果是,则 ansansans 加一;如果是4,ansans...
传送门:
洛谷
GMOJ
大意
给出 Farmer John 的农场里每一头牛年龄的关系,求 Bessie 和 Elsie 的年龄相差多少。
解法
先把每头牛的年龄相差算出来,再用类似宽搜的办法算出即可
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051...
题目传送门:洛谷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...