Skills
文章平均质量分 56
追烽
这个作者很懒,什么都没留下…
展开
-
cout<<“ \n“[i==n-1] 用法
https://blog.csdn.net/jusu10/article/details/117567456原创 2022-04-12 22:47:54 · 2632 阅读 · 0 评论 -
哈尔滨理工大学第12届程序设计竞赛 J 大数乘法
链接:https://ac.nowcoder.com/acm/contest/30825/J题目描述给定整数 xxx,yyy,你需要输出 xyx^yxy mod ppp 的值输入描述:第一行一个整数 ttt(1≤t≤101 \leq t \leq 101≤t≤10),表示接下来有 ttt 组测试用例,每个测试用例有三行整数x,y,px,y,px,y,p0≤x≤1000000 \leq x \leq 1000000≤x≤100000,0≤y≤101000000 \leq y \leq 10^{100原创 2022-04-04 23:42:56 · 790 阅读 · 0 评论 -
哈尔滨理工大学第12届程序设计竞赛 B 抓球
链接:https://ac.nowcoder.com/acm/contest/30825/B题目描述一个箱子里有n个黑球,m个白球,小王想要连续q次从箱子里随机的取出k个球(每次取出k个后立即放回),连续q次取球k个都为黑球的概率是多少,结果对1e9+7取模。输入描述:第一行给出一个t,代表t组测试数据。(1<=t<=100000)每组测试数据给出n,m,k,q。(1<=n,m,k<=1e5,k<=n+m,1<=q<=1e12)输出描述:对于每组测试数原创 2022-04-04 00:10:58 · 656 阅读 · 0 评论 -
【数论】欧拉函数(数论)
欧拉函数(数论)定义欧拉函数,φ(n)\varphi(n)φ(n),表示小于等于 nnn 且与 nnn 互质的数的个数。欧拉函数的值等价形式代码实现:int euler_phi(int n) { int ans = n; for (int i = 2; i * i <= n; i++) if (n % i == 0) { ans = ans / i * (i - 1); while (n % i == 0) n /= i; } if原创 2022-03-26 12:35:29 · 805 阅读 · 0 评论 -
【数学】欧拉函数(复变函数) 五边形数 分割函数 k部分拆数
欧拉函数(复变函数) 五边形数 分割函数欧拉函数(复变函数)将这个式子展开其中 xxx 的次数,3k2−k2\frac{3k^2-k}{2}23k2−k,为广义五边形数将得到的所有项按升幂排列,得到:分割函数定义:将正整数 nnn 拆分为若干个正整数的和(允许同一个数使用多次,这里的拆分是无序的,即 1+2 和 2+1 等价)的方案数。欧拉函数的倒数是划分数(分割函数)的生成函数:其中 p(i)p(i)p(i) 为 iii 的分割函数有展开得到递推式分割函数的代码实现 O原创 2022-03-26 12:29:17 · 1119 阅读 · 0 评论 -
error: call to non-static member function without an object argument
https://blog.csdn.net/weixin_43222324/article/details/99707095转载 2022-03-11 20:21:57 · 556 阅读 · 0 评论 -
关于 Mac OS 上 std::__gcd() 未定义的解决方法
应在C++17及以上使用#include<numeric>与gcd(),否则会报错error: use of undeclared identifier 'gcd'或__gcd()#include<bits/stdc++.h>using namespace std;int main(){ int t;cin>>t; while(t--){ int a,b; cin>>a>>b;原创 2022-03-09 19:38:47 · 1525 阅读 · 1 评论 -
【模板】【最短路】Floyd / Bellman - Ford / SPFA / Dijkstra / 堆优化 Dijksra
P3371 【模板】单源最短路径(弱化版)P4779 【模板】单源最短路径(标准版)Floyd 算法 - 邻接矩阵 (70分)参考#include<bits/stdc++.h>#define FOR(i,a,b) for(int i=(a);i<=(b);++i)const int INF=(1<<30);using namespace std;const int maxn=1e4+7;int n,m,s;//点、边、出发点int f[maxn][maxn原创 2022-02-26 21:56:16 · 147 阅读 · 0 评论 -
P3807 【模板】卢卡斯定理/Lucas 定理
P3807 【模板】卢卡斯定理/Lucas 定理LucasLucasLucas 定理:对于质数 ppp,有(nm) mod p=(⌊n/p⌋⌊m/p⌋)⋅(n mod pm mod p) mod p \binom{n}{m}\bmod p = \binom{\left\lfloor n/p \right\rfloor}{\left\lfloor m/p\right\rfloor}\cdot\binom{n\bmod p}{m\bmod p}\bmod p (mn)modp=(⌊m/p⌋⌊n/p⌋)⋅原创 2022-02-14 23:59:31 · 250 阅读 · 0 评论 -
【字典树】【Trie】P3879 [TJOI2010] 阅读理解
P3879 [TJOI2010] 阅读理解字典树写法参考1参考2bitset用法854ms/45.96MB#include<bits/stdc++.h>#define FOR(i,a,b) for(int i=(a);i<=(b);++i)using namespace std;int nex[300007][26],n,cnt=0;bitset<1001> b[500007];//bool b[500007][1001];void insert(ch原创 2022-02-13 17:46:13 · 479 阅读 · 0 评论 -
【公式】P2512 [HAOI2008]糖果传递
原题地址题目描述有 nnn 个小朋友坐成一圈,每人有 aia_iai 个糖果。每人只能给左右两人传递糖果。每人每次传递一个糖果代价为 111 。输入格式小朋友个数 nnn,下面 nnn 行 aia_iai 。输出格式求使所有人获得均等糖果的最小代价。输入输出样例输入 #141254输出 #14说明/提示对于 100%100\%100% 的数据 n≤106n\le 10^6n≤106 。思路:设每个人原来拥有糖果数量为 AiA_iAi ,每次向右传递数量为 X原创 2022-02-11 23:27:25 · 412 阅读 · 0 评论 -
【拓展欧几里得】【快速幂】【线性递推】P3811 【模板】乘法逆元
原题地址参 考拓展欧几里得(单个查找,p可以为合数)void Exgcd(ll a, ll b, ll &x, ll &y) { if (!b) x = 1, y = 0; else Exgcd(b, a % b, y, x), y -= a / b * x;}int main() { ll x, y; Exgcd (a, p, x, y); x = (x % p + p) % p; printf ("%d\n", x); //x是原创 2022-02-09 21:41:05 · 311 阅读 · 0 评论 -
【拓展欧几里得】【exgcd】P1082 [NOIP2012 提高组] 同余方程
原题地址-Luogu题目描述求关于 x 的同余方程 ax≡1(mod b) 的最小正整数解。输入格式一行,包含两个正整数 a,b,用一个空格隔开。输出格式一个正整数 x0 ,即最小正整数解。输入数据保证一定有解。输入输出样例输入 #13 10输出 #17说明/提示【数据范围】对于 40%的数据,2≤b≤1,000;对于 60%的数据,2≤b≤50,000,000;对于 100%的数据,2≤a,b≤2,000,000,000。NOIP 2012 提高组 第二天 第一题原创 2022-02-09 17:53:19 · 642 阅读 · 0 评论 -
P4549 【模板】裴蜀定理
原题地址-Luogu裴蜀定理对于整数a,b和正整数x,y,ax+by=c成立的充要条件是gcd(a,b)%c=0.推论:a,b互质的充要条件是存在整数x,y,使ax+by=1.拓展:对于n个整数a1,a2,......,an,a1*x1+a2*x2+......+an*xn=S成立的充要条件是gcd(a1,a2,......an)%S=0.AC 代码//#pragma GCC optimize(2)//std::ios::sync_with_stdio(0)//clock_t st=clo原创 2022-02-09 15:02:47 · 297 阅读 · 0 评论 -
P3383 【模板】线性筛素数
本文用以保存模板以备复习原题地址-Luogu题目背景本题已更新,从判断素数改为了查询第 k 小的素数提示:如果你使用 cin 来读入,建议使用 std::ios::sync_with_stdio(0) 来加速。题目描述如题,给定一个范围 n,有 q 个询问,每次输出第 k 小的素数。输入格式第一行包含两个正整数 n,q,分别表示查询的范围和查询的个数。接下来 q 行每行一个正整数 k,表示查询第 k 小的素数。输出格式输出 q 行,每行一个正整数表示答案。输入输出样例输入 #11原创 2022-02-08 15:09:04 · 356 阅读 · 0 评论 -
Sublime Text 搭建 C++ 环境
一、下载MinGW文件1、下载mingw-get-setup:网址:https://sourceforge.net/projects/mingw/由于这是境外网站,请自行解决连接问题2、双击运行,一直continue3、安装完成后显示MinGW Installation Manager的页面4、单击mingw32-base和mingw-gcc-g++左边的方框,选择Mark for installation5、单击菜单栏左上角Installation,选择Apply Changes原创 2022-01-21 23:45:08 · 6479 阅读 · 4 评论 -
【DFS】有重复元素的排列问题
题目描述设R={r1,r2,……,rn}是要进行排列的n个元素。其中元素r1,r2,……,rn可能相同。使设计一个算法,列出R的所有不同排列。给定n以及待排列的n个元素。计算出这n个元素的所有不同排列。输入第1行:元素个数n(1<=n<500)第2行:一行字符串,待排列的n个元素,都是小写字母输出计算出的n个元素的所有不同排列(按字典序),最后一行是排列总数。样例输入4aacc样例输出aaccacacaccacaaccacaccaa6一、使用STL-se原创 2022-01-19 19:35:42 · 1543 阅读 · 0 评论 -
【树状数组 前缀和】Codeforces Global Round 18 B. And It‘s Non-Zero
原题地址:http://codeforces.com/contest/1615/problem/BB. And It’s Non-Zerotime limit per test2 secondsmemory limit per test256 megabytesinputstandard inputoutputstandard outputYou are given an array consisting of all integers from [l,r] inclusive. For ex原创 2021-12-25 16:25:08 · 708 阅读 · 0 评论 -
C++ 树的存储和遍历
知识点:结构体、邻接表、递归DFS、栈DFS、队列BFS本文用以保存模板以备复习#include<iostream>#include<queue>#include<stack>using namespace std;const int N=1e5+10;struct Edge{//边的结构体 int to,nxt;}e[N*2];int adt,head[N];void add(int u,int v){//加边建树 e[++adt]={原创 2021-11-20 21:36:09 · 774 阅读 · 1 评论 -
2020年浙江理工大学新生赛 G DD_BOND之系鞋带
题目描述每天起床,DD_BOND都要系鞋带。他总共有四种颜色的鞋带,分别为浅绿色、深绿色、暗绿色,墨绿色,他有两只鞋子,总共有4列孔需要绑上这四根鞋带,鞋带可以穿过两只鞋子,即从最上面的孔穿入,从最下面的孔穿出,但不幸的是,他的鞋子上有些孔太小了无法穿过鞋带。若定义鞋带从一个孔穿入然后从下一个孔穿出,如不是同一列的孔,则会增加DD_BOND的1点帅气值。现在有个问题,有多少种穿孔方案可以让DD_BOND的帅气值在L到R之间。他觉得这问题太简单了,就丢给了你来做。简言之,现在有4列的孔,每列都有n行的孔,原创 2021-11-18 18:25:35 · 580 阅读 · 0 评论 -
2020年浙江理工大学新生赛 E DD_BOND买赛博朋克2077
动态规划+线段树原创 2021-11-10 00:17:56 · 566 阅读 · 0 评论 -
C++ string 和 int 的相互转换
一、int 转 string(1) 使用字符串流,需包含头文件 #include<sstream>,使用空间标示符std::或者头命名空间using namespace std;#include<iostream>#include<sstream>#include<cstring>using namespace std;int main(){ int num=123; stringstream str1; str1<<num;//原创 2021-11-03 20:30:36 · 440 阅读 · 0 评论 -
C++ inline 内联函数
参考:http://c.biancheng.net/view/199.htmlhttps://www.cnblogs.com/fnlingnzb-learner/p/6423917.html使用函数能够避免将相同代码重写多次的麻烦,还能减少可执行程序的体积,但也会带来程序运行时间上的开销。函数调用在执行时,首先要在栈中为形参和局部变量分配存储空间,然后还要将实参的值复制给形参,接下来还要将函数的返回地址(该地址指明了函数执行结束后,程序应该回到哪里继续执行)放入栈中,最后才跳转到函数内部执行。这转载 2021-11-01 20:02:31 · 92 阅读 · 0 评论 -
高精度加法、减法、乘法、除法(高精除以低精) 模块化函数
一、函数传入char[],返回string#include<iostream>#include<cstring>using namespace std;string prec_plus(char plus_s1[10100],char plus_s2[10100]){ int plus_i1[10100],plus_i2[10100]; int l1=strlen(plus_s1),l2=strlen(plus_s2); string ans=""; int len原创 2021-10-26 20:49:29 · 274 阅读 · 1 评论 -
C++ 对拍
对拍程序的写法在一个文件夹下放入3个.exe可执行程序。AC.exe是保证正确的代码。WA.exe是答案可能有误的代码。以上两段代码可以是单组输入 或 多组输入(while(cin>>a>>b))data.exe负责生成输入数据。然后编写一个.bat文件:again data > input.txt AC < input.txt > AC_output.txt WA < input.txt > WA_output.txt f原创 2021-10-23 11:50:54 · 308 阅读 · 0 评论 -
C++ string 和 char[] 的转换
一、char[ ] 转 string可以直接赋值二、string 转 char[ ] string str="Hello, world!"; char s[100]; for(int i=0;i<str.length();i++) s[i]=str[i]; //p[i] = '\0';原创 2021-10-22 00:09:58 · 705 阅读 · 0 评论 -
C++ String 类型的数字比较大小
先比数位,数位相同则直接用运算符(<,>,=)比较。bool cmp(string x1,string x2){ if(x1==x2) return true; else if(x1.length()!=x2.length()) return x1.length()>x2.length(); else return x1>x2;}原创 2021-10-22 00:05:15 · 3893 阅读 · 0 评论 -
关于 Dev_C++ 【[Error] ld returned 1 exit status】问题的一种解决方案
首先请检查程序的exe文件有没有被关闭,若没有,关闭后即可正常编译。若仍然报错,请往下看。本方法可能不能解决所有的此现象问题。问题症状:1、编译cpp时出现[Error] ld returned 1 exit status2、之前在运行这个cpp的exe文件时,命令行黑框光标闪烁,几秒后程序自动停止运行,返回值不为0。解决方法:1、这是代码有问题,请检查代码以彻底解决这个问题。2、右键 Windows “开始”,进入Windows终端(管理员)3、输入taskkill -f -im x原创 2021-10-04 16:02:49 · 5688 阅读 · 0 评论 -
浙江理工大学 我的编程之路 零基础学C/C++ ACM入队 200 题
1001 - 1100 题过于简单,请自行探索。绝大多数代码都可以AC,编写过程中可能有纰漏。1101 问题 L: 零基础学C/C++101——最大数与数列最后一个数交换#include<iostream>using namespace std;int main(){ int n; while(cin>>n){ int a[110]={},max0=-1,post0=-1; for(int i=1;i<=n;i++){ cin>>a[i]原创 2021-10-03 17:32:34 · 6204 阅读 · 2 评论 -
十进制数转换为其他进制
题目描述输入一个十进制数N,将它转换成R进制数输出。输入输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。输出为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)。样例输入7 223 12-4 3样例输出1111B-11实现代码#include<bits/stdc++.h>using namespace std;i原创 2021-10-02 20:39:01 · 280 阅读 · 0 评论 -
快速读入读出
输入一、输入intinline int IntRead(){ char ch=getchar(); int s=0,w=1; while(ch<'0' || ch>'9'){ if(ch=='-') w=-1; ch=getchar(); } while(ch>='0' && ch<='9'){ s=s*10+ch-'0', ch=getchar();原创 2021-09-26 21:24:55 · 238 阅读 · 0 评论 -
ValueError: check_hostname requires server_hostname的解决方法
问题描述:在安装pygame库时遇到报错,结尾是ValueError: check_hostname requires server_hostname解决方法:关闭 VPN / 代理原创 2021-07-22 20:05:09 · 647 阅读 · 2 评论 -
X264码率控制总结——ABR,CQP,CRF
layout: posttitle: X264码率控制总结——ABR,CQP,CRFsubtitle: 码率date: 2020.10.24author: 追殇header-img:catalog: truetags:- 码率X264码率控制总结——ABR,CQP,CRF参考:https://blog.csdn.net/tanningzhong/article/details/51545389X264 显式支持的一趟码率控制方法有:.转载 2020-10-24 19:52:55 · 1794 阅读 · 0 评论 -
快速排序
思想:分治,将数列分割为两部分,其中一部分记录的关键字均比另一部分记录的关键字小。之后分别对这两部分记录继续进行排序,以达到整个序列有序的目的。步骤:1、选择基准:在待排序列中,按照某种方式挑出一个元素,作为 “基准”(此代码中使用中间数mid)2、分割:以该基准在序列中的实际位置,把序列分成两个子序列。要求基准左边的元素都比该基准小,在基准右边的元素都比基准大。3、递归地对左右两个序列进行排序,直到序列为空或者只有一个元素。代码如下,测评地址#include<iostream>原创 2020-08-19 10:03:17 · 120 阅读 · 0 评论 -
图文详解双向链表原理
双向链表双向链表的主要优点: 对于任意给的结点,都可以很轻易的获取其前结点和后结点。其主要缺点:每个结点需要保存next和prev两个属性,因此需要更多的空间开销,同时结点的插入与删除操作也将更加耗时,因为需要操作更多的指向操作。双向链表单个节点结构:双向链表的数据结构:双向链表的插入操作插入数据到链表尾部插入数据到链表中间双向列表删除操作删除链表尾部数据删除链表中间...转载 2019-10-13 18:51:46 · 6570 阅读 · 4 评论 -
关于 宏定义 无穷常量INF
推荐:#define INF 0x3f3f3f3f#define INF (1<<30)内置类型 的 最大值宏定义(如INT_MAX)需调用 头文件#include<climits>测试代码:#include<iostream>#include<cstdio>using namespace std;int main(){ #...原创 2019-05-10 14:57:04 · 3449 阅读 · 0 评论 -
sort() 及对结构体数组排序 用法
调用:#include<algorithm>sort默认从小到大排序。从大到小排序:bool cmp(int x,int y){ return x>y;}sort(a,a+n,cmp);这里的cmp函数可以用greater<int> () 代替,即:sort(a,a+n,greater <int> () );对结构体数组排序:struct node{ int name; int data;}a[10000];bool cmp(no原创 2019-05-07 19:03:38 · 2232 阅读 · 0 评论 -
「set 实现」洛谷 P1059 明明的随机数
通过时间: 2019.5.17测评地址: https://www.luogu.org/problemnew/show/P1059评测详情: https://www.luogu.org/recordnew/show/19113964用时: 27ms / 内存: 836KB#include<set>#include<iostream>using namespace ...原创 2019-05-17 21:05:19 · 201 阅读 · 0 评论 -
归并排序、用优先队列实现排序
//P1177 【模板】快速排序 归并排序 //在线测评地址https://www.luogu.org/problemnew/lists?name=1177 //#include <stdio.h>#define maxn 100100 int n,a[maxn],b[maxn];void memory_sort(int left,int mid,int right){//...原创 2019-04-16 18:58:49 · 239 阅读 · 0 评论 -
c++ 标准库函数 - atoi() - 把字符串转换为 int
描述int atoi(const char *str) 把参数 str 所指向的字符串转换为一个整数(类型为 int 型)。调用前导入库:#include<cstdlib>声明下面是 atoi() 函数的声明。int atoi(const char *str)参数str – 要转换为整数的字符串(必须是char型字符串)。返回值该函数返回转换后的长整数。如果转换过...原创 2019-06-04 18:51:22 · 1767 阅读 · 0 评论