2021 江西省ICPC省赛 B.Continued Fraction(简单数学)

题目描述输入描述输出描述样例输入2105 381 114样例输出4 2 1 3 4 21 0 114样例解释简单签到数学题,给定一个互质的分式,拆成任意如题所示的公式即可。赛时潦草看题的时候:草(一种植物),数论题?迅速跳过。十分钟后一看榜单:噫本题模拟一遍样例即可知道过题方法:105 / 38 = 2 … 2938 / 29 = 1 … 929 / 9 = 3 … 29 / 2 = 4 … 1其中每个公式中的商即为答案,直接丢入数组即可。而余数与除数将组
分类: 其他 发布时间: 11-19 09:03 阅读次数: 0

2021 江西省ICPC省赛 L.It Rains Again(前缀和差分)

题目描述输入描述输出描述输入样例51 2 2 11 1 2 23 3 4 35 1 6 36 3 7 2输出样例4样例解释y 轴数据完全作为摆设的一题。本题的解法包括但不限于前缀和差分、贪心、暴力(数据太弱没把 n ^ 2 复杂度卡下去的锅 )。对于读入的每一段区间,构造差分数组,即 [ x1 ] ++ , [ x2 ] – ,并求前缀和获得原始数组,该数组代表被挡板覆盖的次数。若值为 0 ,则说明未被挡板覆盖,不为 0 则已被挡板覆盖,此处不会下雨,ans ++
分类: 其他 发布时间: 11-19 09:02 阅读次数: 0

Convex Contour(数学,凸包)

题目描述输入描述输出描述输入样例14TSTC输出样例19.088434417输入样例23SCT输出样例27.50914177324题目大意: 给定若干个正三角形,正方形,圆形排列成一行,求包围他们一周所需要的最小长度。由于知识淡薄,写题的时候并不知道知识点是凸包,但显然该题纯用数学也是可以计算的。本题中不难看出,需要进行特殊处理的组合是当边界为三角形,而中端存在正方形或圆形,此时两种图形之间的最优连线为由边界三角形的顶点至正方形的顶点,或圆的切点。其中,对于
分类: 其他 发布时间: 11-19 09:02 阅读次数: 0

Appearance Analysis(模拟,set)

题目描述输入描述输出描述输入样例111 16#################....#++++#+...##....#++.+#+...##....#.++.#++.+##....#....#++++##################....#.+..#++++##..++#.+..#++.+##+...#....#.++.##+...#..++#....#################输出样例14输入样例29 21##################
分类: 其他 发布时间: 11-19 09:02 阅读次数: 0

2021辽宁省大学生程序设计竞赛(C、D、E、F、G、L)

C-传染病统计题目描述输入描述输出描述输入样例323 631 3 551 2 5 6 7输出描述1 13 32 3数据范围极小的普通签到题,通过距离是否大于 2 分为多个连通块(?),并统计每个连通块中的人数并更新答案即可。参考代码#include <bits/stdc++.h>using namespace std; int a[10],d[10];int main(){ int t,n; cin >> t;
分类: 其他 发布时间: 11-19 09:02 阅读次数: 0

友好城市(LIS)

题目描述输入描述输出描述输入样例722 42 610 315 129 817 174 2输出样例4数据范围题目大意: 上下两端有一一对应的两个点,其中每一对之间可以产生一条连线。问在所连的线互不相交的情况下,一共最多能够连接多少条线。读题时难以想象它和最长上升子序列有什么联系 ,但只要画图模拟一下思路就会十分明朗。(然而这个图出现了一些问题,其中上方的数字并非是坐标点,可以理解为12、26、18分别对应的是 a,c,b ,其中 c 在 b 的左侧,防止思维上出现
分类: 其他 发布时间: 11-19 09:01 阅读次数: 0

状态机dp入门-股票买卖 I、II、III

股票买卖 I题目描述输入描述输出描述输入样例167 1 5 3 6 4输出样例11输入样例257 6 4 3 1输出样例20样例说明普普通通的一题,采用贪心解决即可。对于每个读入的数,不断更新从当前时刻开始买入的最小值,同时更新若在当前时刻卖出能够获得的利润最大值。当呈现样例 2 的暴跌状态时,不做任何交易为最优解。参考代码#include <bits/stdc++.h>using namespace std;const int N=
分类: 其他 发布时间: 11-19 09:01 阅读次数: 0

状态机dp入门-股票买卖 IV、V、VI

股票买卖-IV题目描述输入描述输出描述输入样例13 22 4 1输出样例12输入样例26 23 2 6 5 0 3输出样例27样例说明III 版本的一点点加强,仅需要将上一题的 k 范围扩大即可。参考代码#include <bits/stdc++.h>using namespace std;const int N=1e5+10;int a[N];int f[N][110][2];int main(){ int n,k;
分类: 其他 发布时间: 11-19 09:01 阅读次数: 0

状态压缩dp入门-蒙德里安的梦想

题目描述输入描述输出描述数据范围输入样例1 21 31 42 22 32 42 114 110 0输出样例10123514451205本题中,采用了先放横的小方块,再在空位插入竖的小方块的解法,此时总方案数即为只放横着小方块的合法方案数。原因在于:对于某种放置完横的小方块的情况后,插入竖的小方块的方法一定是唯一的。因此本题可转化为在按某种方法放置了横的小方块后,剩余空位是否满足能够插满若干竖的小方块,满足该情况的方法数总和即为总方案数。由于竖小方
分类: 其他 发布时间: 11-19 09:00 阅读次数: 0

牛客小b白月赛40 B-跳跳跳(区间dp)

传送门题目描述输入描述输出描述输入样例131 1 1输出样例16样例1说明输入样例231 2 3输出样例214样例2说明
分类: 其他 发布时间: 11-19 09:00 阅读次数: 0

归并排序能进行选择

归并排序输入:待排序数据序列功能要求:输出每步骤排序情况;希望能进行排序方向的选择(从大到小或从小到大)#include<stdio.h>#include<stdlib.h>//归并排序//----从小到大void Merge_up(int* src,int* des,int low,int mid,int high){ int i = low; int j = mid+1; int k = low; //比较两个有序序列中的元素,将较小的元素插
分类: 其他 发布时间: 11-19 09:00 阅读次数: 0

学生基本信息管理系统(C++)

#include<iostream>#include<string>using namespace std;class Student{public: Student(void); ~Student(void); void input(); void display(); friend ostream&operator<<(ostream&,Student&); friend istream&operator&l.
分类: 其他 发布时间: 11-19 09:00 阅读次数: 0

CodeForces Gym 101741 A-Three Arrays(二分,规律)

题目描述输入描述输出描述输入样例1 3 3 31 2 31 2 31 2 31 6 6 61 1 2 2 3 32 2 3 3 4 43 3 4 4 5 5输出样例1556题目大意: 给定三个已排序的不同长度的数组 a,b,c,从每个数组中分别取出一个数字,使得三个数字之间两两的绝对值差 不大于 d,问符合要求的有多少组合。(同一数组内,数字相同但下标不同的算多种方案)。对于某个已经确定的数字 ai ,若在 [ ai - d , ai + d ] 的范围内选取 b
分类: 其他 发布时间: 11-19 09:00 阅读次数: 0

SCOI2055 互不侵犯(状压dp)

传送门题目描述输入描述输出描述输入样例3 2输出样例16数据范围状态压缩 dp 的又一入门题,第一道能独立写出的状压,感动落泪 ,由于每个国王的攻击范围是周围 8 格,因此对于同一行而言,不能出现摆放相邻国王的情况,且摆放到某一行时,也要考虑是否会被上一行摆放的国王攻击到。解题过程可参照:蒙德里安的梦想首先枚举每一行所有可能的状态,并判断以该状态的摆法是否可行。本题中同样以 1 表示该位置摆放了国王,0 则表示没有,因此对于 n * n 的矩阵,显然长度为 n 的行中,可
分类: 其他 发布时间: 11-19 09:00 阅读次数: 0

以点类Point为基类构造圆类Circle

#include <iostream>using namespace std;class Point{ protected: double x; double y; public: Point(double xv=0,double yv=0);//有参构造 Point(const Point &p); //拷贝构造 ~Point(); //析构函数.
分类: 其他 发布时间: 11-19 09:00 阅读次数: 0

洛谷1879-[USACO06NOV]Corn Fields G-玉米田(状压dp)

传送门题目描述输入描述输出描述输入样例2 31 1 10 1 0输出样例9互不侵犯 的青春版(?),本题省去了对于数量上限的要求,因此仅需使用二维状态 f [ i ] [ j ] 即可,其中 i 表示种到了第 i 行,j 表示该行是以第 j 种状态种地。对于每一行,同样进行初始化枚举每一种状态是否符合种地要求,若存在相邻的 1 则将该状态标为非法。状态转移方程:f[i][j]=f[i−1][x]f[i][j]=f[i-1][x]f[i][j]=f[i−1][x]其
分类: 其他 发布时间: 11-19 08:59 阅读次数: 0

利用函数模板解决双倍功能

代码如下:#include <iostream>using namespace std;template <class T>T Double(T x){return 2*x;}int main(void){ char c='\0'; int i=0; long l=0; scanf("%c%d%ld",&c,&i,&l); cout<<Double(c)<<endl; c
分类: 其他 发布时间: 11-19 08:59 阅读次数: 0

利用类模板解决绝对值功能

#include <iostream>#include <stdio.h>using namespace std;template <class T>class Absolute{private: T x;public: T getValue(void)const; Absolute(T xx){x=xx;}}; template <class T>T Absolute<T>::getValue()con.
分类: 其他 发布时间: 11-19 08:59 阅读次数: 0

C语言求自定元素的最大值

#include <stdio.h>#define MAXN 10typedef float ElementType;ElementType Max( ElementType S[], int N );int main (){ ElementType S[MAXN]; int N, i; scanf("%d", &N); for ( i=0; i<N; i++ ) scanf("%f", &S[i]); .
分类: 其他 发布时间: 11-19 08:59 阅读次数: 0

C++单向链表模板类

#include <iostream>#include <stdio.h>using namespace std;template<typename T>class Node{ public: T data; Node<T>* next; Node<T>* last; Node(T d=0) {data=d;cout<<"Node Constructor run"<<endl;} .
分类: 其他 发布时间: 11-19 08:59 阅读次数: 0