牛客编程语言练习赛第十场全题解

出生日期输入输出题目描述输入一个人的出生日期(包括年月日),将该生日中的年、月、日分别输出。输入描述:输入只有一行,出生日期,包括年月日,年月日之间的数字没有分隔符。输出描述:三行,第一行为出生年份,第二行为出生月份,第三行为出生日期。输出时如果月份或天数为1位数,需要在1位数前面补0。示例1输入20130225输出year=2013month=02date=25备注:通过scanf函数的%m格式控制可以指定输入域宽,输入数据域宽(列数),按此宽度截取所需数据;通过printf
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

C++离散化总结【附模板&例题&代码】

/*离散化的特点:数据的值域比较大,个数比较少【一般l和 r较小的话,比如<=10^5,用前缀和】把值域里的数映射到连续的自然数序列里整个的值域跨度很大,但是值比价稀疏这个映射其实就是把数组的值映射到对应的下标可能存在的问题(我们用一个数组来存储值域里的那些数);a[]中可能有重复的元素,需要去重如何做到快速映射(也就是如何快速算出x离散化后的值,即x对应的下标)【这部分的算法:二分】离散化:vector alls; //***** 存储所有待离散化的值sort( all
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

Codeforces Round #660 (Div. 2)【A—D思路及题解】

A. Captain Flint and Crew Recruitmenttime limit per test1 secondmemory limit per test256 megabytesinputstandard inputoutputstandard outputDespite his bad reputation, Captain Flint is a friendly person (at least, friendly to animals). Now Captain Flint
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

UPC 2020年夏混合个人训练第七十五场

// A.#include <bits/stdc++.h>#define MAXNUM 101#define MAX(a,b) a>b?a:b int m; //建筑的种类数 int n; //土地的面积 int k; //使用的金钱数 int q[MAXNUM]; //建筑i的占地面积 int p[MAXNUM]; //建筑i的价格int v[MAXNUM]; //建筑i的魅力值 int f[MAXNUM][MAXNUM]; //f表示前
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

做题 (problem) 题解

#include <bits/stdc++.h>#define ll long long using namespace std;int n,m,a[1010],sum,k;int main(){ cin>>n>>m; for(int i=1; i<=n; i++) cin>>a[i]; for(int i=1; i<=n; i++) { k=i; if(a[i]<m) sum++; else break
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

牛客等级之题8.3——题解

逆元与模、推公式、数学公式(均值不等式)
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

牛客等级之题8.4——题解

优先队列、动态规划、模拟
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

区间合并模板【彩色图示版&附例题+AC代码(全注释)】

与区间有关的问题有很多,大部分都是用贪心的策略去解决,不是按照左端点排序,就是按照右端点排序,或者按照左右端点双关键字排序。先讲一下按照左端点进行排序的,其他的后续跟新。区间合并的应用场景:给出很多个区间,把有交集的区间合并为一个【特殊规定:端点处相交,也算有交集】。这类题目往往让我们输出最终的区间数目或者区间长度的最值,又或者是将所有区间合并的最小花费。要求我们快速实现把有交集的区间合并为一个区间。规定左端点为st,右端点为ed。按照左端点排序,进行区间合并时会遇到下面4种情况,还会遇到特殊的边界处
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

牛客等级之题8.12题解

计算公式+化简、矩阵消除
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

牛客等级之题8.10题解(排序&贪心应用)

简单排序、贪心
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

求斐波那契前n项平方和 ——矩阵快速幂模板(几何&构造证明题【附图】)

根据图示,我们可以知道:后面的大正方形的边长总是等于前面的小正方形组成的矩形的长;前面几个斐波那契数的平方之和(也就是前面几个小正方形的面积之和)在数值上等于最后出现的一个和下一个紧接着未出现的斐波那契数的乘积(也就是已经出现的小正方形组成的矩形的面积等于其中最大的一个小正方形的边长乘以下一个紧接着未出现的正方形的边长)。对应的公式化简后如下:#include <bits/stdc++.h>#define ll long long#define MOD 1000000007usin..
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

2020年校内ACM排位赛 NO.1场 题解&反思

J总设置的中午12点到傍晚17点的比赛时间,属实让一个每天要睡午觉的菜菜懵逼+难熬啊。途中差点睡着,小错误不断,题目难度也判断失误(预估高了题目难度QAQ,某些题目怎么着也得来点dp、快速幂或者卡数据啥的东东啊)。好了,废话太多了,还是自己定位不够准确导致罚时飙升,不太想继续切题了,突突突…话说这是手速场(大型茶话会)吧…Problem A:numberDescription300iq loves numbers who are multiple of 300.One day he got a .
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

C++求平面上不重合的n个点最多构成多少条两两互不平行(包括重合)的直线

对应题目UPC NO.78场 问题 E: 阅兵队形 plane题目描述70 周年阅兵的时候,飞机在空中排练着队形,Yyx 很好奇,他想知道这么训练有素的队形到底是如何造就的呢?他记录下了飞行路径上的各个端点。他发现:把整个天空看做一个平面直角坐标系,飞行路径是所有过任意两个端点的直线。如果这些飞机可能会撞在一起,或者说只要这些直线有交点,就可能发生事故。在所有直线中应该最少删除多少条直线使得剩下的直线两两都不相互平行(重合也是平行)。求出最多可以构成多少条两两互不平行的直线。输入第一行,整
分类: 其他 发布时间: 10-18 21:03 阅读次数: 0

UPC 2020年夏混合个人训练第七十八场

字符串末位应用——判断奇偶、n个不重合的点最多构成多少条两两不平行的直线
分类: 其他 发布时间: 10-18 21:02 阅读次数: 0

UPC 2020年夏混合个人训练第七十九场

质数和分解、背包问题、用结构体连接字符串输出、数学性质(中心点)探究 + 特判
分类: 其他 发布时间: 10-18 21:02 阅读次数: 0

UPC 2020年夏混合个人训练第八十一场

求十进制数的二进制中1的个数、十进制转其他进制的通用模板、根据prufer序求无根树的个数、无根树转有根树的c++模板、几何问题画图模拟
分类: 其他 发布时间: 10-18 21:02 阅读次数: 0

牛客假日团队赛54签到题题解

裸DP、差分、模拟、思维
分类: 其他 发布时间: 10-18 21:02 阅读次数: 0

UPC 2020秋组队真题训练赛第八场【A&B&C&D&G】

问题 A:Alphabet Animals题目描述You are playing a game in which a group of players take turns saying animal names. The animal name you say when it is your turn must start with the same letter as the previously said animal ends with and it must not have been sai
分类: 其他 发布时间: 10-18 21:02 阅读次数: 0

动态规划之01背包【从暴力到优化】

动态规划 ——DP 的介绍动态规划 (DP) 是一种算法技术,它将大问题分解为更简单的子问题,对整体问题的最优解决方案取决于子问题的最优解决方案。有的问题有 2个特征:重叠子问题、最优子结构。用 DP可以高效率地处理具有这 2个特征的问题。处理 DP的大问题和小问题,有两种实现方式 ——自顶向下与记忆化递归 / 自下而上与制表递推。以斐波那契为例,两种实现方式的代码分别如下:// 自顶向下与记忆化递归int memoize[maxn]; //保存结果int fib (int n){
分类: 其他 发布时间: 10-18 21:02 阅读次数: 0

蓝桥历届真题——小数第n位 (循环小数的循环节)

试题 历届试题 小数第n位 循环小数的循环节时间限制:1.0s 内存限制:256.0MB问题描述  我们知道,整数做除法时,有时得到有限小数,有时得到无限循环小数。  如果我们把有限小数的末尾加上无限多个0,它们就有了统一的形式。  本题的任务是:在上面的约定下,求整数除法小数点后的第n位开始的3位数。  输入格式  一行三个整数:a b n,用空格分开。a是被除数,b是除数,n是所求的小数后位置(0<a,b,n<1e9)输出格式  一行3位数字,表示:a除以b,小数后第
分类: 其他 发布时间: 10-18 21:02 阅读次数: 0