
练习
文章平均质量分 65
练习题
矿矿不想吃饭
是人
展开
-
并查集相关
文章目录板子题:亲戚板子题:亲戚#include<iostream>using namespace std;const int N = 5005;int fa[N] = {0},dep[N] = {0};//rank ambiguous了 int n,m,p,x,y;int find(int u){ if(fa[u]==u) return u; return fa[u] = find(fa[u]);} void add(int u,int v){ int fu原创 2022-04-29 23:46:13 · 196 阅读 · 0 评论 -
Hotel G
文章目录Luogu P2894 [USACO08FEB]Hotel G代码:一、倔强地没用lazytag二、加了lazy教训:Luogu P2894 [USACO08FEB]Hotel G差点没整死我、、、代码:一、倔强地没用lazytag#include<iostream>using namespace std;const int N = 50005;int n,m,op,d,e;int maxlen[N*4] = {0},llen[N*4] = {0},rlen[N*4]原创 2022-04-23 14:19:53 · 346 阅读 · 0 评论 -
A-B数对——题目解析
题目来源:Luogu P1102,OJ 1522解法1:Hash表(取模hash函数+开散列表-拉链法)#include<iostream>using namespace std;const int N = 200005;const int P = 1000003;int n,c,x,tot = 0;long long ans = 0;//1e10要开long long了 struct Node{ int data; int cnt; int next; Node(){原创 2022-04-21 13:36:09 · 1123 阅读 · 0 评论 -
手写priority queue
文章目录要求:基本功能(顺序存储)连接存储(左堆)要求:1、完成priority queue的基本功能2、在至多logn的时间复杂度合并两个priority queue基本功能(顺序存储)#ifndef SJTU_PRIORITY_QUEUE_HPP#define SJTU_PRIORITY_QUEUE_HPP#include <cstddef>#include <functional>#include "exceptions.hpp"#include<i原创 2022-04-20 19:51:20 · 350 阅读 · 0 评论 -
双向链表实现的list
文章目录手写listAC代码(没那么漂亮的版本)修改后list分析函数及其作用写的时候出现的重大问题1、代码逻辑问题2、代码理解问题3、请写好返回值4、充分理解`new和malloc和T()`、`delete和free和~T()`手写list要求如下:给的algorithm如下:#ifndef SJTU_ALGORITHM_HPP#define SJTU_ALGORITHM_HPP#include <functional>namespace sjtu{template&原创 2022-04-01 00:13:26 · 1758 阅读 · 0 评论 -
顺序存储实现的vector
手写vector、关于malloc\free和operator new\delete原创 2022-03-26 16:44:43 · 864 阅读 · 0 评论 -
文件读写类(链式内存管理
待填充模板:#ifndef BPT_MEMORYRIVER_HPP#define BPT_MEMORYRIVER_HPP#include <fstream>using std::string;using std::fstream;using std::ifstream;using std::ofstream;template<class T, int info_len = 2>class MemoryRiver {private: /* your..原创 2022-03-11 16:31:49 · 134 阅读 · 0 评论 -
模板类的重载
放代码:#include<iostream>#include<cstdio>#define USE_OStemplate<class T>class ArrayList;template<class T>std::ostream &operator<<(std::ostream &os,const ArrayList<T> &obj);class error : public std::e...原创 2022-03-11 16:27:37 · 474 阅读 · 0 评论 -
双向约瑟夫数学解法
这题是约瑟夫问题的加强版,需要双向杀人,同时由于数据的强度不能采用O(MN)或者O(N2),必须采用数学方法达到O(N)的复杂度。80分代码:#include<iostream>using namespace std;int n,m;bool f = true;struct Node{ int data; Node *next,*prev; Node(int k){ data = k; next = NULL; prev = NULL; }};Node *.原创 2022-03-11 14:22:21 · 183 阅读 · 0 评论 -
高级ST表(区间最长不下降子序列 & 区间GCD
文章目录题面T两个点代码:T一个点代码:AC代码:题面Tips:子序列没说连续!!Hint:最长上升子序列只需要考虑区间内是否有0,1{0, 1}0,1子序列,考虑维护两个数组LastOne和FirstZero,为了使得该hint含蓄一些,数组含义请自己脑补qwq。最长不下降子序列只有三种情况{000…000},{111…111},{000…111},前两种情况利用前缀和维护即可,第三种情况可以枚举0,1的分界点,总复杂度为O(NM),会超时。考虑用ST表优化这一过程,做到O(1)查询,最终复原创 2022-03-09 09:28:44 · 416 阅读 · 0 评论 -
模板类的继承(类模板作为基类),内嵌类的继承
C++模板类的继承,类模板作为基类,内嵌类的继承原创 2022-02-24 20:54:33 · 590 阅读 · 0 评论 -
回文数_20211202
文章目录luogu P1217luogu P1217AC代码#include<iostream>using namespace std;int a,b,cnt = 0;int pri[10000000] = {0};bool vis[100000001] = {0}; bool check(int x){ int x1 = 0,x2=x; while(x){ x1 *= 10; x1 += x%10; x /= 10; } if(x1==x2) return原创 2021-12-02 12:42:44 · 658 阅读 · 0 评论 -
Luogu P1967 货车运输
题目描述A 国有 n 座城市,编号从 1到 n,城市之间有 m 条双向道路。每一条道路对车辆都有重量限制,简称限重。现在有 q 辆货车在运输货物, 司机们想知道每辆车在不超过车辆限重的情况下,最多能运多重的货物。.输入格式第一行有两个用一个空格隔开的整数 n,m,表示 A 国有 n 座城市和 m 条道路。接下来 m行每行三个整数 x,y,z,每两个整数之间用一个空格隔开,表示从 x ...原创 2019-11-14 16:59:43 · 233 阅读 · 0 评论 -
P100 T2 不是AC代码!!害
zhxnb!!!恩这道题是个数学题以最下面和最左边两条边建系可以用向量叉乘算出点(b,a)到矩形靠左c长为L的边的距离,本题实际上是当L边在坐标轴上动时求该距离的最小值距离函数是一个单峰的(可以直接从图形中看出),用三分来解决实型数据杀我……精度控制太难了errrrrrrrrrrrrr注意:三分的步长小于eps,否则永远跳不到停止那一步(永不停息!! )郑tc讲课的时候说可以先*1e...原创 2019-11-04 18:54:32 · 165 阅读 · 0 评论 -
Luogu P1083 借教室
Luogu P1083 借教室(历史悠久的简单题 要是我会就好了)描述在大学期间,经常需要租借教室。大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室。教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样。面对海量租借教室的信息,我们自然希望编程解决这个问题。我们需要处理接下来nnn天的借教室信息,其中第iii天学校有rir_iri个教室可供租借。共有mmm份订...原创 2019-10-24 20:47:37 · 215 阅读 · 1 评论 -
Poj 1125 Stockbroker Grapevine
Stockbroker GrapevineFloyd&Dijkstra描述众所周知,股票经纪人对谣言反应过度。您已签约开发一种在股票经纪人之间传播虚假信息的方法,以使您的雇主在股票市场上具有战术上的优势。为了获得最大效果,您必须以最快的方式传播谣言。对于您来说不幸的是,股票经纪人仅信任来自其“受信任来源”的信息。这意味着在开始谣言时,您必须考虑其联系方式。一个特定的股票经纪人将谣...原创 2019-10-24 14:05:08 · 210 阅读 · 0 评论 -
Poj 2253 Frogger
Freddy the frog ♪描述青蛙Freddy坐在湖中间的一块石头上。突然,他注意到坐在另一块石头上的青蛙Fiona。他计划去探望她,但由于水很脏,到处都是游客的防晒霜,他想避免游泳,而是跳跳来到达她。不幸的是,Fiona的石头不在他的跳跃范围内。因此,Freddy考虑使用其他石头作为中间停靠点,并通过几次小跳来到达她。要执行给定的跳跃序列,青蛙的跳跃范围显然必须至少与序列中发生的...原创 2019-10-24 08:37:16 · 202 阅读 · 0 评论 -
Poj 1062 昂贵的聘礼
Poj 1062 昂贵的聘礼Description年轻的探险家来到了一个印第安部落里。他和酋长的女儿相爱了,于是便向酋长去求亲。酋长要他用10000个金币作为聘礼才答应把女儿嫁给他。探险家拿不出这么多金币,便请求酋长降低要求。酋长说:“嗯,如果你能够替我弄到大祭司的皮袄,我可以只要8000金币。如果你能够弄来他的水晶球,那么只要5000金币。“探险家跑到大祭司那里,向他要皮袄或水晶球,大祭司...原创 2019-10-23 15:45:10 · 195 阅读 · 0 评论 -
Poj 3259 Wormholes Bellman-Ford
描述在探索他的许多农场时,农夫约翰发现了许多惊人的虫洞。虫洞非常特殊,因为它是一条单向路径,可把您在进入虫洞之前的时间 将您送至目的地! FJ的每个农场均包含 N(1≤N≤500)个田地,编号为 1到 N,M(1≤M≤2500)条路径和 W(1≤W≤200)虫洞。由于 FJ是一位热衷时间旅行的爱好者,因此他希望做到以下几点:从某个田地开始,经过一些路径和虫洞,并在他初次离开之前的某个时间...原创 2019-10-23 09:31:32 · 249 阅读 · 0 评论 -
Luogu 3916 图的遍历
Luogu3916 图的遍历给出N个点,M条边的有向图,对于每个点v,A(v)表示从点v出发,能到达的编号最大的点。.输入格式第1 行,2 个整数N,M。接下来M行,每行2个整数Ui,ViU_i,V_iUi,Vi,表示边(Ui,Vi)(U_i,V_i)(Ui,Vi)。点用1,2,⋯,N编号。输出格式N 个整数A(1),A(2),⋯,A(N)。.输入输出样例输入4 3...原创 2019-10-22 15:15:46 · 355 阅读 · 0 评论 -
POJ 1860 Currency Exchange && POJ 2240 Arbitrage
POJ1860 Bellman-Ford我们市有几个货币兑换点。让我们假设每个点专门使用两种特定的货币,并且仅使用这些货币执行交换操作。可以有几个点专门针对同一对货币。每个点都有自己的汇率,A对B的汇率是你从1A中得到的B的数量。而且每个兑换点都有一定的佣金,即你必须为兑换操作支付的金额。佣金总是以来源货币收取。例如,如果你想在汇率为29.75,佣金为0.39的兑换点将100美元兑换成俄...原创 2019-10-21 21:07:11 · 179 阅读 · 0 评论