ACM
文章平均质量分 67
青菜 - Teloy_041
. 微 . 轻 . 简 .
展开
-
【算法板子】普通平衡树(洛谷P3369)
<tree>平衡树需要包含头文件<ext/pb_ds/tree_policy.hpp>和<ext/pb_ds/assoc_container.hpp>或者直接#include <bits/extc++.h>创建**下标和数值正相关(less<>)**平衡树的基本方法:tree<double, null_type, less<double>, rb_tree_tag, tree_order_statistics_no原创 2021-07-30 11:04:09 · 254 阅读 · 0 评论 -
【算法板子】线段树模板(洛谷P3372)
题目链接:https://www.luogu.com.cn/problem/P3372几年没打线段树了,复习一下#include<bits/stdc++.h>using namespace std;/*线段树定长数组的区间操作时 : O(logn)空 : O(nlogn)*/typedef long long val_type;struct Node{ int l,r,mid; val_type sum,lazy; /* l,r : cha原创 2021-07-28 17:10:22 · 132 阅读 · 0 评论 -
【Codeforces】Codeforces之丰【部分题解】
Codeforces之丰[by_041]文章目录Codeforces之丰[by_041]@[toc][Codeforces Round #721 (Div. 2)](https://codeforces.com/contest/1527)[A. And Then There Were K]([Problem - A - Codeforces](https://codeforces.com/contest/1527/problem/A))[B1. Palindrome Game (easy versio原创 2021-05-29 14:32:36 · 974 阅读 · 3 评论 -
【历史遗留】还有记录的:HDOJ-刷题.md
HDOJの旅[by_041]曾经有一个 序目录文章目录HDOJの旅[by_041]曾经有一个 序目录@[toc][ACM Steps](http://acm.hdu.edu.cn/game)Chapter One - 阶段1Section One - 基本输入输出Section Two - 简单的推公式Section Three - 数据结构初步、算法初步Chapter Two - 阶段2Section One - 数论初步2.1.1.最小公倍数(P1108,LCM)2.1.2.How ma原创 2021-05-07 18:22:32 · 571 阅读 · 1 评论 -
【C/C++进阶】输入的技巧
【C/C++进阶】输入的技巧[by_041]文章目录【C/C++进阶】输入的技巧[by_041]@[toc]有集合条件的读入:`scanf("%[..]",char*);`单字符读入:`ch=getchar();`整行读入:`gets(char*);`整行读入:`cin.get(char*,int).get();`有停止条件的读入string:`getline(cin,string,'\n');`有停止条件的读入char*:`cin.getline(char*,int,'\n');`有集合条件的读入原创 2021-05-01 16:57:36 · 343 阅读 · 2 评论 -
【水一波题解】题解 of University of Central Florida 2020 (Fall) “Practice” Local Programming Contest
题解 of University of Central Florida 2020 (Fall) “Practice” Local Programming [Contest](oj | University of Central Florida 2020 (Fall) “Practice” Local Programming Contest)[by_041]文章目录题解 of University of Central Florida 2020 (Fall) “Practice” Local Progr原创 2021-04-24 15:36:14 · 447 阅读 · 1 评论 -
【算法】【Undone】Tarjan算法 - 查找图的强连通分量、(割点)
【算法】【Undone】Tarjan算法 - 查找图的强连通分量、(割点)[by_041]Tarjan算法是基于由图建树加上DFS序(时间戳DFN)处理的一种算法适用于both有向图和无向图数据结构对一个节点,其有树结点的数据结构,此外还需包含以下两个成员值;DFN序:对图DFS建树时产生的时间戳LOW值:对于每个点,能回溯到达的点中的最小DFN序(有向)/最多经过一条后向边能到达的点中的最小DFN序(无向)理论基础树枝边:DFS时经历的边(即是DFS搜索树上的边)前向原创 2021-04-21 09:19:39 · 134 阅读 · 0 评论 -
【算法】匈牙利算法 - 二分图的最大匹配问题
【算法】匈牙利算法 - 二分图的最大匹配问题[by_041]算法过程遍历所有边:如果两端都没有入队边和两端入队如果左端入队continue如果右端入队找到连接该右端的边的左端如果被找到的左端可以通过其他边连接其他点断开已连接的点,连接此处的其他边和遍历中的这条边,维护点入队该边到此处都没入队,那就前往下一条边之后再补更证明过程、...原创 2021-03-26 20:06:35 · 116 阅读 · 1 评论 -
【算法】KMP - 字符串匹配算法
【算法】KMP - 字符串匹配算法[by_041]问题模板给定两串字符串str_1、str_2,判断串str_1在串str_2中出现了几次(记录每次出现的位置)解法对于str_1构建 nex[ ] 位移数组利用模式串内部的前缀重复性,创建一个数组nex[],nex[i]表示str_1[0~nex[i]]可以和str_1[(i-nex[i])~i]匹配。以str_1="bbbabb"为例,构造nex[]的构造如下: nex.clear(); nex.resize原创 2021-03-14 00:16:48 · 227 阅读 · 1 评论 -
【SHNU_RUSHer】【SHNU Winter Camp】day2 - D - Fractal Streets [ POJ_3889 ]
Fractal Streets[by_041]题目链接_POJ题目理解本题是和希尔伯特曲线有关的一道规律题(因为存在重复单元)原来的基础方向是这样]的,我们可以将其划分为四个部分①∣②④∣③\frac{①|②}{④|③}④∣③①∣②,根据题意在②③部分中的细分单位结构和原来的整体方向相同,而在①处位置的细分方向沿主对角线方向翻转,④处沿右对角线翻转,所以有翻转状态st1,st2表示的细分单位结构,见下表:所以我们可以从二进制的高位22n−12^{2n-1}22n−1和22n−1原创 2021-01-03 20:14:53 · 147 阅读 · 0 评论 -
【SHNU_RUSHer】动态规划 [Cloned]X - 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活【含多重背包转01背包的模板】
X - 悼念512汶川大地震遇难同胞――珍惜现在,感恩生活【含多重背包转01背包的模板】[by_041]题目链接_shnu_OJ题目理解这题是道裸的多重背包模板题:物品有价格、价值、数量,将其用01背包的做法做的代码模板如下:int n; // 有的资金int m; // 商品个数struct goods_ // 产品信息{ int price,value,number;}g[M_max+1];int dp[N_max+1]; //dp[i]表示用i元能得到的最多的产品价值原创 2020-12-11 11:40:43 · 130 阅读 · 1 评论 -
【历史遗留_2018】【NOIP提高组必备知识】NOIP的各种总结.md
各种总结 [各种妙啊][by 041]文章目录各种总结 `[各种妙啊]`[by 041]@[toc]解题思想暴力模拟搜索后台打表递推递归搜索最优解取巧二分答案区间分治记忆动归倍增法求区间最值[RMQ]数组/结构体 模拟各种数据结构算法部分代数算法求a∗b(modm)a*b(modm)a∗b(modm)的O(1)算法位运算数论乘法原理质数表因数个数表求最大公约数(gcd)求最大公倍数(lcm)==图论实践 [还需训练]==关于图的几个概念定义图的存储结构**邻接矩阵****边数组****邻接类表**相关原创 2020-12-08 15:30:15 · 1276 阅读 · 1 评论 -
【SHNU_RUSHer】动态规划 [Cloned]B - Humble Numbers【丑数模板】【数的组合模板】
B - Humble Numbers[by_041]题目链接_shnu_OJ题目理解一看题就知道是典型的dp了,不难想到从之前有的humble number推出新的humble number,进一步,为了保持有序性,我们要更新出最小的humble number,因为是从前往后跟新,我们叫这样的数据结构栈,并且用int sta_f=1, sta_v[6001]={-1,1};来初始化储存栈的长度sta_f和第i个humble number——sta_v[i]、那么我们设置int the_2=1,t原创 2020-12-02 00:51:25 · 200 阅读 · 2 评论 -
【SHNU_RUSHer】动态规划 [Cloned]B - Humble Numbers【丑数模板】【数的组合模板】【本次上传可能出问题liao】
B - Humble Numbers[by_041][题目链接_shnu_OJ][https://vjudge.net/contest/408868#problem/B]题目理解一看题就知道是典型的dp了,不难想到从之前有的humble number推出新的humble number,进一步,为了保持有序性,我们要更新出最小的humble number,因为是从前往后跟新,我们叫这样的数据结构栈,并且用int sta_f=1, sta_v[6001]={-1,1};来初始化储存栈的长度sta_f和原创 2020-12-02 00:47:47 · 119 阅读 · 1 评论 -
【AcWing】01背包问题【01背包(v,w)模板】
2. 01背包问题[by_041][题目链接_AcWing][https://www.acwing.com/problem/content/2/]回来水一下模板题莫一次过就毁灭吧模板: N=input();V=input(); for(int i=1;i<=N;i++) { v_sum+=v[i]=input(); w[i]=input(); int tem=w[i],fla=i; for(int j=minn(v_sum,V);j>=v[i];j--原创 2020-11-29 11:22:10 · 238 阅读 · 0 评论 -
【SHNU_RUSHer】动态规划 [Cloned]T - 最大报销额【含01背包(v,v)模板】
T - 最大报销额【含01背包模板】[by_041]理解题目:[题目链接_shnu_OJ][https://vjudge.net/contest/408868#problem/T]这道题分为两个部分:字符串处理,输入发票信息;以及判断是否可以被报销01背包,选取出最大的报销方案对于字符串处理,真是长记性了(之前TLE一直改dp部分,后来发现原来是字符串没处理好hhhh),这里就不再展开了,下面我们来看看01背包的方法:求从a[1,,n]中选出最大不超过w的最大价值anss的模原创 2020-11-27 11:42:37 · 187 阅读 · 1 评论 -
【SHNU_RUSHer】动态规划 [Cloned]P - 搬寝室【dp题】
P - 搬寝室[by_041]理解题目:[题目链接_shnu_OJ][https://vjudge.net/contest/408868#problem/P]首先这是dp题、那么就是要分析:确定状态:用数组dp[i][j]表示前i件物品取了j对的最小疲劳值转移方程:dp[i][j]=minn(dp[i-1][j],dp[i-2][j-1]+sq(a[i]-a[i-1]));起始条件: sort(v_a+1,v_a+v_n+1); v_dp[2][1]=v_sq原创 2020-11-24 14:23:27 · 119 阅读 · 1 评论 -
【牛客】2020-11-14牛客小白月赛29-D
2020-11-14牛客小白月赛29-D[by_041][本人原文][https://blog.nowcoder.net/n/b52ac5450f674a779d528df204ec6e6a]看题,分析,大剪刀就是用来搬运大数的,多大呢?在(0m+1)/2层内最大的那么答案就很明显了,(m+1)/2内的深度返回大值,其余返回小值附上代码#include<iostream>using namespace std;void swp(int&a,int&b){原创 2020-11-15 16:48:18 · 130 阅读 · 0 评论 -
【牛客】2020-11-14牛客小白月赛29-C
2020-11-14牛客小白月赛29-C[by_041][本人原文][https://blog.nowcoder.net/n/80d66f604be649be8c636a5949c19976]首先,,我恨啊啊啊啊啊,赛场上少加个输出空格!!!!!(长记性!!)这玩意就是个重复方块的拼图,你会发现,单独的,要满足题设条件的同色方块都要摆成(1×2×2)(1\times2\times2)(1×2×2)大小的单位方块(四个同色方块在一个平面上摆一个田字),就和样例输入是2的数据一样(他的输出是一个原创 2020-11-15 16:16:47 · 119 阅读 · 0 评论 -
【牛客】2020-11-14牛客小白月赛29-F
2020-11-14牛客小白月赛29-F[by_041][本人原文][https://blog.nowcoder.net/n/989e434b46374da0b6a3ec3326a7af96]就是道小模拟啦,附上AC代码:#include<iostream>using namespace std;void swp(int&a,int&b){a^=b;b^=a;a^=b;return;}int maxx(int a,int b){return a>b原创 2020-11-15 15:28:44 · 121 阅读 · 0 评论 -
水一波题解之NOI.oj:7622:求排列的逆序数 [ 首文 附创作声明]【区间dp,二分法,下标地址抽象】
7622:求排列的逆序数 题解原题见此处首先看见题目后先想到的当然是O(nlogn)的暴力算法,于是第一码诞生:#include<iostream>#include<cstdio>#include<algorithm>#include<cmath>using namespace std;#define SIZE_ 100001...原创 2018-07-18 18:03:06 · 803 阅读 · 1 评论 -
【回归ACM】【SHNU_RUSHer】信机ACM入门练习3-排序模拟贪心A - Box of Bricks【空行PE解决】
A - Box of Bricks[题目链接][https://vjudge.net/contest/406256#problem/A][by_041]题目理解题目是这样的:要把一堆高低不一的砖块摆平,问最少要动多少块砖(题目保证可以摆平)数据范围1≤n≤50,1≤hi≤1001≤n≤50 , 1≤h_i≤1001≤n≤50,1≤hi≤100,~~这不是随便过嘛?~~于是码了:#include<cstdio>int input()//这个是手打的快速输入函数,效率比scan原创 2020-11-09 23:42:30 · 180 阅读 · 1 评论 -
【牛客】2020-11-14牛客小白月赛29-B
2020-11-14牛客小白月赛29-B[by_041][本人原文][https://blog.nowcoder.net/n/116c86fd5ebf46ab9e4dd624e1436504]首先,题如其名,是一道关于位运算的操作题内容是将一系列的位运算化简很明显,位运算是有捷径的,如下:设有一个二进制第i位上是x(可能为1或0)的数与&一个第i位是1的数,这个二进制位置上的数还是原来的x与&一个第i位是0的数,这个二进制位置上的数无论如何都是0或|一个第i位原创 2020-11-15 15:11:01 · 283 阅读 · 0 评论 -
【牛客】2020-11-13牛客挑战赛45-A
2020-11-13牛客挑战赛45-A[by_041][本人原文][https://blog.nowcoder.net/n/d0be382605c04fd18300de26caf29041]这道题首先引起我注意的是:偶数,最值等关键词于是我的第(tian)一(zhen)个(de)反应是开数组,筛奇数,排序然后因为每次操作是在原来的基础上减掉最大偶数的一半,所以只要预存下原来所有数的sum后剪掉砍掉的偶数的一半就行本来是想按步插入排序的,但是很明显10910^9109数级的操作会超原创 2020-11-15 15:10:06 · 104 阅读 · 0 评论 -
【SHNU_RUSHer】信机ACM入门练习3-排序模拟贪心E - As Easy As A+B
E - As Easy As A+B[题目链接][https://vjudge.net/contest/406256#problem/E][by_041]题目理解首先,这道题目的名字引起了我的注意,所以就先E跳了俩题来慰问他排序模板题??1≤n≤10001\le n\le10001≤n≤1000??出于信仰打一个快排吧、#include<cstdio>int m,n,a[1001];void swp(int&a,int&b){a^=b;b^原创 2020-11-10 11:18:49 · 181 阅读 · 1 评论 -
【SHNU_RUSHer】信机ACM入门练习3-排序模拟贪心B - 简易版之最短距离
B - 简易版之最短距离[题目链接][https://vjudge.net/contest/406256#problem/B][by_041]题目理解首先,~~先嘲讽一下这个ACBOY的名字,~~他要选一个出发点~~再看看他所有的朋友怎么都在数轴上啊,~~然后访问其他点那么按照这个数据范围n≤500,v≤10000n\le500,v\le10000n≤500,v≤10000,~~这不就很简单了吗,~~枚举应该都能过但是考虑到他在数轴上,,嗯~有那味儿了,我们来看一下:组12原创 2020-11-10 10:38:06 · 157 阅读 · 1 评论