- 博客(78)
- 资源 (4)
- 收藏
- 关注

原创 数学 部分知识点
数根(又称数字根Digital root)是自然数的一种性质,换句话说,每个自然数都有一个数根。数根是将一正整数的各个位数相加(即横向相加),若加完后的值大于10的话,则继续将各位数进行横向相加直到其值小于十为止,或是,将一数字重复做数字和,直到其值小于十为止,则所得的值为该数的数根。例如54817的数根为7,因为5+4+8+1+7=25,25大于10则再加一次,2+5=7,7小于十,则7为54...
2020-07-18 10:48:26
391

转载 ACM知识点分类
ACM知识点分类第一类:基础算法(1) 基础算法:枚举,贪心,递归,分治,递推,构造,模拟(2) 动态规划:背包问题,树形dp,状态压缩dp,单调性优化,插头dp(3) 搜索:dfs,bfs,记忆化搜索,优化与剪枝,双广,A*,IDA*,跳舞链第二类:数据结构(1) 简单数据结构:链表,栈和队列,串,树和二叉树,图,排序与检索(2) 树形结构:线段树,树...
2020-03-08 18:15:10
734

转载 位运算知识点
(1) 0 ^ 任何数=任何数(2) 1 ^ 任何数 = 该数取反(3) 任何数 ^ 自身=把自身置 0==》 a ^ b ^ b = a按位异或的几个常见用途:(1) 使某些特定的位翻转例如对数10100001的第2位和第3位翻转,则可以将该数与00000110进行按位异或运算。 10100001^00000110 = 10100111(2) 实现两个值的交换,而不必使...
2020-03-06 14:14:33
209

原创 数论部分知识点
(1) a, b 最大不能组合的数 = a*b - (a+b)(2) 与 n 互质的数对 n 取模具有周期性(不一定从1到n)部分应用:① 给出n和k求出第k个与n互素的数如果知道欧几里德算法的话就应该知道gcd(b×t+a,b)=gcd(a,b) (t为任意整数)则如果a与b互素,则b×t+a与b也一定互素,如果a与b不互素,则b×t+a与b也一定不互素故与m互素的数对m取模具有周期...
2020-02-27 17:00:11
992
1

转载 根据数据范围推测实践复杂度及算法
一般ACM或者笔试题的时间限制是1秒或2秒。在这种情况下,C++代码中的操作次数控制在 107107 为最佳。下面给出在不同数据范围下,代码的时间复杂度和算法该如何选择:n≤30n≤30, 指数级别, dfs+剪枝,状态压缩dpn≤100n≤100 => O(n3)O(n3),floyd,dpn≤1000n≤1000 => O(n2)O(n2),O(n2logn)O(n2lo...
2020-02-11 09:17:15
438
原创 python Virtualenv的简单使用
以下是在cmd里进行的pip install virtualenv # 安装virtualenv --help # 测试virtualenv --version # 查看版本# 建立第一个虚拟环境cd [my_project] # 进入python项目所在文件夹,[my_project]就是路径,之后cmd每一行开头都会出现[my_project]路径,继续键入以下命令virtualenv my_project_env # 创建虚拟环境virtualenv -p /usr/bin/
2022-04-07 16:10:15
1466
原创 Master of Phi (欧拉函数 + 积性函数)
You are given an integer n. Please output the answer of∑d|n φ(d) × n/d modulo 998244353. n is represented in the form of factorization. φ(n) is Euler’s totient function, and it is defined more formally as the number of integers k in the interval 1 ≤ k ≤ n.
2020-11-11 21:25:32
297
原创 LightOJ - 1030 Discovering Gold 期望 DP
You are in a cave, a long cave! The cave can be represented by a 1 x N grid. Each cell of the cave can contain any amount of gold.Initially you are in position 1. Now each turn you throw a perfect 6 sided dice. If you get X in the dice after throwing, yo.
2020-11-04 21:28:42
170
原创 LightOJ - 1027 A Dangerous Maze 概率期望
You are in a maze; seeing n doors in front of you in beginning. You can choose any door you like. The probability for choosing a door is equal for all doors.If you choose the ith door, it can either take you back to the same position where you begun in x.
2020-11-04 20:01:40
157
原创 ACM 简单模板 差分
(1) 一维差分 for (i=1; i<=n; i++) { scanf("%d", &data[i]); diff[i] = data[i] - data[i-1]; } for (i=0; i<m; i++) { int l, r, c; scanf("%d%d%d", &l, &r, &c); diff[l] += c; diff[r+1]
2020-10-31 09:46:27
263
原创 各种小技巧模板 最大连续子区间 exgcd 大数乘法 二分(持续更新)
最大连续子区间(和) ans = lst = 0; for(i = 0; i < n; ++i){ lst = max(0, lst) + a[i]; //lst = max(lst+a[i], a[i]); ans = max(ans, lst); }
2020-09-08 18:59:33
255
1
原创 __int128 爆long long 了就用它
听说 linux 环境下才能用,,,输入输出的板子#include <bits/stdc++.h>using namespace std;inline __int128 read(){ __int128 x = 0, f = 1; char ch = getchar(); while (ch<'0' || ch>'9') { if (ch == '-') f = -1; ch = ge
2020-08-03 19:06:20
1043
1
转载 计算 n/2+n/3+n/4+n/5+.....
牛客题目链接:https://ac.nowcoder.com/acm/contest/5672/HThe following rules define a kind of integer tuple - the Legend Tuple:(1, k) is always a Legend Tuple, where k is an integer.if (n, k) is a Legend Tuple, (n + k, k) is also a Legend Tuple.if (n, k) is a
2020-08-01 23:17:42
1901
原创 HDU 1018 Big Number n! 的位数 斯特林公式
斯特林公式n! = 1 * 2 * 3 * 4 * 5*…*n;由于 n 很大,要计算 n! 后得到的数字为几位数, 可以取他的自然对数lg(n!) = lg1+lg2+lg3+lg4+lg5+…+lgn其位数就是 lg(n!)+1用斯特林公式优化一下就是lg(n!) + 1= lg(sqrt(2πn)*(n/e) ^ n) + 1=0.5lg(2πn) + n lg(n/e) + 1两种方式的代码如下#include <cstdio>#include <ios
2020-07-31 22:36:37
170
原创 优快云 写博客调整图片大小
法①:<img src="图片链接" width="20%">添加一张图片时会自动生成这样一段
相信大家一定有过在网上下载软件而碰到多个不同版本的情况。一般来说,软件的版本号由三个部分组成,主版本号(Major Version Number),子版本号(Minor Version Number)和修订号(Revision_Number)。当软件进行了重大的修改时,主版本号加一;当软件在原有基础上增加部分功能时,主版本号不变,子版本号加一;当软件仅仅修正了部分bug时,主版本号和子版本号都不变,修正号加一。在我们比较软件的两个版本的新旧时,都是先比较主版本号,当主版本号相同时再比较子版本号,前两者都
2020-07-31 10:16:22
211
原创 HDU 1799 循环多少次 组合数
我们知道,在编程中,我们时常需要考虑到时间复杂度,特别是对于循环的部分。例如,如果代码中出现for(i=1;i<=n;i++) OP ;那么做了n次OP运算,如果代码中出现fori=1;i<=n; i++)for(j=i+1;j<=n; j++) OP;那么做了n*(n-1)/2 次OP 操作。现在给你已知有m层for循环操作,且每次for中变量的起始值是上一个变量的起始值+1(第一个变量的起始值是1),终止值都是一个输入的n,问最后OP有总共多少计算量。Input有T组
2020-07-30 21:53:21
147
原创 POj 3164 Command Network最小树形图 模板题 朱刘算法
Command NetworkAfter a long lasting war on words, a war on arms finally breaks out between littleken’s and KnuthOcean’s kingdoms. A sudden and violent assault by KnuthOcean’s force has rendered a total failure of littleken’s command network. A provisional
2020-07-25 22:46:30
166
原创 HDU 1563 Find your present! 异或妙用找到独立出现的数
Problem DescriptionIn the new year party, everybody will get a “special present”.Now it’s your turn to get your special present, a lot of presents now putting on the desk, and only one of them will be yours.Each present has a card number on it, and your p
2020-07-19 12:26:10
176
原创 HDU 2222 AC自动机模板题 数组版
算法详解 https://blog.youkuaiyun.com/bestsort/article/details/82947639Keywords SearchProblem DescriptionIn the modern time, Search engine came into the life of everybody like Google, Baidu, etc.Wiskey also wants to bring this feature to his image retrieval syste
2020-07-16 12:03:57
154
原创 HDU 2072 单词数 模拟
看过一个用字典树做这个题的,不过感觉用 set 更直观点string s;getline(cin, s)输入字符串,包括空格,遇到换行终止stringstream str(s); 复制字符串 s 到 strstring tp;while(str >> tp) 把含空格的字符串拆解成数个单词#include<bits/stdc++.h> using namespace std; string s; int main() { while(getlin
2020-07-14 15:16:17
116
原创 CodeForces - 1343D Constant Palindrome Sum 分情况讨论+差分
You are given an array a consisting of n integers (it is guaranteed that n is even, i.e. divisible by 2). All ai does not exceed some integer k.Your task is to replace the minimum number of elements (replacement is the following operation: choose some ind
2020-07-08 10:14:40
207
原创 含空格字符串的输入+字符串相关函数
可以输入空格char str[36];gets(str) ;char str[30];cin.getline(str, 30);string str;getline(cin, str);遇到换行结束, 其后不用再加一个 getchar() 吸收前面的输入是cin>>ss;的话,那么此处str的值时空的,因为他会读取上一行的结束符所以前面加一个 getchar() 吸收...
2020-04-30 21:35:47
488
原创 约瑟夫问题实验 循环单链表
一、实验目的和要求(一)问题描述设有n个人围坐在圆桌周围,现从某个位置m(1≤m≤n)上的人开始报数,报数到k的人就站出来。下一个人,即原来的第k+1个位置上的人,又从1开始报数,再报数到k的人站出来。依次重复下去,直到全部的人都站出来为止。试设计一个程序求出这n个人的出列顺序。(二)问题分析这是一个使用循环链表的经典问题。因为要不断出列,所以采用单链表的存储方式能更恰当的模拟出列的情况,...
2020-03-31 15:17:48
798
原创 Efficient Exchange DP 二维DP
YouhaverecentlyacquiredanewjobattheBankforAcquiring Peculiar Currencies. Here people can make payments, and deposit or withdraw money in all kinds of strange currencies. At your first day on the job yo...
2020-03-22 22:51:30
239
原创 Find my Family 思维 模拟
Find my FamilyYou are looking for a particular family photo with you and your favorite relatives Alice and Bob. Each family photo contains a line-up of n people. On the photo you’re looking for, you ...
2020-03-21 21:13:38
461
原创 HDU OJ 2819 swap 二分图 最大匹配 记录路径
Given an N*N matrix with each entry equal to 0 or 1. You can swap any two rows or any two columns. Can you find a way to make all the diagonal entries equal to 1?InputThere are several test cases in...
2020-03-13 22:21:33
147
原创 HDU 1218 棋盘游戏 二分图 最大匹配 关键边
小希和Gardon在玩一个游戏:对一个NM的棋盘,在格子里放尽量多的一些国际象棋里面的“车”,并且使得他们不能互相攻击,这当然很简单,但是Gardon限制了只有某些格子才可以放,小希还是很轻松的解决了这个问题(见下图)注意不能放车的地方不影响车的互相攻击。所以现在Gardon想让小希来解决一个更难的问题,在保证尽量多的“车”的前提下,棋盘里有些格子是可以避开的,也就是说,不在这些格子上放车,也可...
2020-03-13 20:28:46
172
原创 HDU 2444 The Accomodation of Students 二分图判断+最大匹配
There are a group of students. Some of them may know each other, while others don’t. For example, A and B know each other, B and C know each other. But this may not imply that A and C know each other....
2020-03-13 16:15:35
142
原创 HDU 2063 过山车 二分图 最大匹配 匈牙利算法
递归#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#define mod 1000000007using namespace std;const int N = 506;int G[N][N], vis[N], pre[N];int...
2020-03-13 11:51:17
149
原创 C语言编程实现矩阵乘法和矩阵乘方运算(矩阵快速幂)
本来是为了偷个懒,,,可是计算能力一定要好好练!#include <iostream>#include <cstdio>#include <algorithm>#include <cstring>#define mod 1000000007using namespace std;const int N = 36;struct ma...
2020-03-13 08:04:17
6593
原创 单链表的实现和部分操作实验报告2(含完整代码)
仅供参考,记得看看自己班的课代表有没有发模板哦2333实 验 报 告课 程: 数据结构班 级:实验序号: 1姓 名:学 号:实验日期:题 目: 单链表基本操作的实现一、实验目的和要求①熟悉C语言的上机环境,进一步掌握C语言的结构特点。②熟练掌握单链表的结构特点和基本操作。③学会使用单链表解决实际问题。二、实验环境Windows2000 ,VB三、实验内容及实施...
2020-03-11 22:46:56
10358
1
原创 高数习题5.4.2
高数习题5.4.2见过很多回答, 然而还是不会。。。讨论积分 dx / x(ln x)^ k 的收敛性及最小值目前已知k <= 1 时发散k > 1 积分得 x ^ (1-k)/(1-k)
2020-03-09 21:56:47
280
2
原创 HDOJ1287_破译密码(异或运算)
一开始试了 ‘B’, 发现正好符合, 以为只要输出所有数和 ‘B’ 异或的结果即可, 然而并不是譬如 26 个大写字母与 ‘B’ 异或的结果范围是0-27(扣除2和25,如下图),而给出的数字可能超出这个范围, 即不一定和 ‘B’ 异或所以还是要老老实实遍历一遍找出这个字母是什么,设这个字母为 ans, 26个大写字母为 c, 输入的数为 a, 则有 c ^ ans = a, ==>...
2020-03-09 21:53:52
287
原创 顺序表(数组的)实验报告(含完整代码)
(1) 实验目的①熟练掌握线性表的结构特点和基本操作。②巩固C相关的程序设计方法与技术。③学会使用顺序表解决实际问题。(2) 实验过程①建立一个顺序表,输入n个元素并输出, 定义函数名为CreatList(SqList &L, int n);②查找线性表中的最大元素并输出,定义函数名为(SqList L, int &maxelem);③在线性表的第i个元素前插入一个正...
2020-03-06 16:26:07
17583
2
原创 一个人的旅行 HDU - 2066 最短路 dijkstra
认为起始点编号为 0, 到临近点的距离为 0, 终点编号为 n, 到目标点的距离为 0找 到各个目标点的最短距离 中 最小的 即 找 0 到 n 的最短路dijkstra 适用于正权算法思想:把初始点看做一个集, 从 这个集里未遍历过的点中到初始点最近的点向外扩张,把它能接触到的点加到集里, 并更新初始点到这些点的距离#include <iostream>#include ...
2020-03-05 19:50:42
146
原创 B - 畅通工程 HDU - 1863 kruskal算法
problem省政府“畅通工程”的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有直接的公路相连,只要能间接通过公路可达即可)。经过调查评估,得到的统计表中列出了有可能建设公路的若干条道路的成本。现请你编写程序,计算出全省畅通需要的最低成本。Input测试输入包含若干测试用例。每个测试用例的第1行给出评估的道路条数 N、村庄数目M ( < 100 );随后的 N行对应村庄间道...
2020-03-05 16:12:05
196
SDNU课程教学论复习资料.zip
2021-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人