- 博客(45)
- 问答 (8)
- 收藏
- 关注
原创 STL实现动态维护有序数组
总结: 第一个参数是必要的即迭代器,如果只有一个参数则插入一个元素,如果有两个参数a,b则是插入a个b,如果是一个数组则插入一个数组。函数 v.empty() v.lower_bound() v.insert(): vector中insert函数用法。
2022-09-13 22:10:06 413
原创 Codeforces Round #814 (Div. 2)
分析:只需要先模拟前n个选手即可,因为只要最大力量的选手出现在最前面后面不论多少轮都不会对更新答案有贡献。
2022-08-18 14:18:29 125
原创 线性DP 杨老师的拍照排列
开五维数组f[31][31][31][31][31][31],边界f[0][0][0][0][0]=1,其余设为0,目标f[N1][N2][N3][N4][N5],若a1
2022-07-23 18:02:37 107
原创 Mondriaans‘s Dream(状态压缩DP)
01-第i-1行的竖着的小方块(这一行状态表示为j)与第i行的竖着的小方块(这一行状态表示为k)不重叠,即j&k==0;思路把行号作为dp的阶段,为了便于描述每一行的状态,我们可以用一个M位二进制数来表示这一行的状态。02-每一行的连续的0必须是偶数个,方便防止横着的小方块。...
2022-07-18 10:07:01 188
原创 有向图的拓扑排序
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言 一、拓扑序是什么? 二、例题 1.引入库 2.读入数据 总结前言提示:这里可以添加本文要记录的大概内容:例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。提示:以下是本篇文章正文内容,下面案例可供参考一、拓扑序是什么?若一个由图中所有点构成的序列A满足:对于图中的每条边(x,y),x在A...
2022-04-21 16:55:41 681
原创 树与图的dfs
文章目录一、树与图的dfs 二、使用步骤 三、例题引入一、dfs是什么? dfs(Depth First Search)叫做深度优先搜索,又叫深度优先遍历二、代码模板代码如下:void dfs(int u) { st[u] = true; for(int i = h[u]; i != -1; i = ne[i]) { int j = ne[i]; if(st[j]) continue; dfs...
2022-04-20 19:14:50 764
原创 异或数列【第十二届】【省赛】【A组】
Alice 和 Bob 正在玩一个异或数列的游戏。初始时,Alice 和 Bob 分别有一个整数a和b(初始时,a,b均为0),有一个给定的长度为n的公共数列X1,X2,⋅⋅⋅,Xn。Alice 和 Bob 轮流操作,Alice 先手,每步可以在以下两种选项中选一种:选项11:从数列中选一个Xi 给 Alice 的数异或上,或者说令aa变为a⊕Xi(其中⊕⊕表示按位异或) 选项22:从数列中选一个Xi 给 Bob 的数异或上,或者说令bb变为b⊕Xi每...
2022-04-01 11:37:09 3731
原创 砝码称重 第十二届蓝桥杯B组
你有一架天平和 NN 个砝码,这 NN 个砝码重量依次是 W1,W2,⋅⋅⋅,WNW1,W2,···,WN。请你计算一共可以称出多少种不同的正整数重量?注意砝码可以放在天平两边。输入格式输入的第一行包含一个整数 NN。第二行包含 NN 个整数:W1,W2,W3,⋅⋅⋅,WNW1,W2,W3,···,WN。输出格式输出一个整数代表答案。数据范围对于50%50%的评测用例,1≤N≤151≤N≤15。对于所有评测用例,1≤N≤1001≤N≤100,NN个砝码总重不超过...
2022-04-01 10:22:40 170
原创 十八组题解
A#include <iostream>using namespace std;typedef long long LL;const int mod = 100003; int n;int mem[100010];LL work(int n){ if (mem[n] > 0) return mem[n]; if (n < 0) return 0; if (n == 1 || n == 0) return 1; if (n ==
2022-02-09 18:40:16 570
原创 郑轻OJ - 1155: 字符串比较 多实例
#include <iostream>#include <cstring>#include <cctype>using namespace std;char a[10010];char b[10010];int mycmp(char* s1, char* s2){ int re = 0; int L1 = strlen(s1); int L2 = strlen(s2); int L = min(L1, L2); for (int i = 0; .
2022-01-21 22:13:36 664
原创 高精度乘法
#include <iostream>#include <cstring>using namespace std;int a[100];int b[100];int c[100];char d[100];char e[100];int main(){ cin >> d >> e; int ld = strlen(d); int le = strlen(e); int lc = ld + le; for (int i = 0.
2022-01-20 18:16:51 254
原创 第18组题解
A#include <stdio.h>typedef long long ll;ll fastPower(ll base, ll power, ll mod){ ll result = 1; while(power > 0) { if(power & 1) { result = result * base % mod; } power >>= 1; base = (base * base) % mod; } retur
2022-01-18 18:47:39 382
原创 乘法逆元
目录01 - 模运算的性质(a+b)%p = (a%p + b%p)%p(a-b)%p = (a%p - b%p)%p(a * b)%p = ((a%p) * (b%p))%p02 - 乘法逆元首先说下为什么出现:对于大数的除法,是没有除法的模运算公式的,乘法逆元的出现,把除法转化为了乘法,从而可以取模而不会爆longlong存在条件 当且仅当b 与 p互质费马小定理 :若 p 为质数, 则 b^(p-1) ≡ 1(mod p)...
2022-01-18 18:44:28 83
原创 C++ reverse()函数
作用: 逆序数组元素时间复杂度: 线性头文件: algorithm#include <iostream>#include <algorithm>using namespace std;int main(){ int a[10], b[10]; for(int i = 0; i < 10; i++) { a[i] = i; cout << a[i] << ' '; } cout << endl;
2022-01-17 11:16:07 1148
原创 欧拉函数
就是对于一个正整数n,小于n且和n互质的正整数(包括1)的个数,记作φ(n) 。欧拉函数的通式:φ(n)=n*(1-1/p1)(1-1/p2)(1-1/p3)*(1-1/p4)……(1-1/pn)其中p1, p2……pn为n的所有质因数,n是不为0的整数。φ(1)=1(唯一和1互质的数就是1本身)。ll eular(ll n){ ll ans = n; for(int i=2; i*i <= n; ++i) { if(n%i == 0)
2022-01-15 23:43:36 140
原创 第18组题解
A#include <iostream>#include <cstring>using namespace std;const int maxn = 10;bool bol[maxn];char maps[maxn][maxn];int n, k, cnt, way;void dfs(int h){ if(cnt == k) { way++; return ; } if(h >= n) return ; for(int i = 0;
2022-01-14 18:25:51 139
原创 字符串 题解
A - 雷同检测#include <iostream>#include <string>using namespace std;int main(){ string s1,s2; getline(cin, s1); getline(cin, s2); int i; int la = s1.size(); int lb = s1.size(); for(i = 0; i < min(la, lb); i++) { if(s1[i] == s2[i
2022-01-10 10:49:30 307
原创 位运算位运算位运算位运算位运算
洛谷P1469 找筷子题目描述经过一段时间的紧张筹备,电脑小组的“RP 餐厅”终于开业了,这天,经理 LXC 接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题:筷子!CX 小朋友找出了餐厅中所有的筷子,但遗憾的是这些筷子长短不一,而我们都知道筷子需要长度一样的才能组成一双,更麻烦的是 CX 找出来的这些筷子数量为奇数,但是巧合的是,这些筷子中只有一只筷子是落单的,其余都成双,善良的你,可以帮 CX 找出这只落单的筷子的长度吗?..
2022-01-05 22:59:24 48
原创 1085: 超简单的布尔矩阵的奇偶均势性 -HENAUOJ
题目描述布尔矩阵具有奇偶均势特性, 当且仅当每行、每列的元素总和为偶数。例如1 0 1 00 0 0 01 1 1 10 1 0 1每行每列的元素总和皆为偶数, 即具有奇偶均势特性。现输入一个矩阵, 判断是否具有奇偶均势特性。若否那么判断可否通过修改某一位置上的数(0变1或1变0), 使得该布尔矩阵具有奇偶均势特性。行则输出改变元素的坐标,否则为被破坏。输入第一行为整数n(1 ≤ n ≤ 100).接下来n行, 每行n个数(0 or 1)。输...
2021-12-18 11:00:27 643 1
原创 换汽水问题-HENAUOJ_1047: 汽水瓶(多实例测试)
题目描述有这样一道智力题:“某商店规定:三个空汽水瓶可以换一瓶汽水。小张手上有十个空汽水瓶,她最多可以换多少瓶汽水喝?”答案是5瓶,方法如下:先用9个空瓶子换3瓶汽水,喝掉3瓶满的,喝完以后4个空瓶子,用3个再换一瓶,喝掉这瓶满的,这时候剩2个空瓶子。然后你让老板先借给你一瓶汽水,喝掉这瓶满的,喝完以后用3个空瓶子换一瓶满的还给老板。如果小张手上有n个空汽水瓶,最多可以换多少瓶汽水喝?输入输入文件最多包含300组测试数据,每个数据占一行,仅包含一个正整数n(1 <= n <=.
2021-12-17 13:30:55 330
原创 HENAUOJ 1136: 长整数排序
排序不管有多少位的数字(升序)#include <stdio.h>#include <string.h>#include <algorithm>char a[10][110];int b[10];char tmp[110];void str_ncpy(int j,char tmp[],char a[]);int main(){ int i,j,k,n; scanf("%d",&n); for(i=0;i<n;i++) {
2021-12-14 19:30:54 5063
原创 抽奖问题 南阳理工oj
学长喜欢玩原神上次卡池里抽胡桃,结果没有抽到,学长为此难受了好几天南阳南阳理工为了下次能够抽到想要的角色,提前做好了十足的规划已知当前已经拥有了颗原石,个星辉根据原神的规则,每颗原石可以抽一发,或每个星辉可以抽一发学长发现:每抽发平均可以获得个星辉(注意每抽满十发才可获得3星辉,例如:抽1~9发无星辉,抽10~19发3星辉)请问在不氪金的情况下能抽多少发输入格式一个整数n,表示n颗原石,(1 <= n <= 1e8)输出格式一...
2021-12-09 14:05:18 585
原创 fmod函数 —— 对浮点数取余数
#include <math.h>例子:#include <stdio.h>#include <math.h>int main(){ double a = 1.2; double c = fmod(a, 0.5); printf("%lf",c); return 0;}
2021-12-07 11:33:19 358
原创 排列函数 C++
函数原型#include <algorthm>next_permutation(start, end);排列数组例子:#include <iostream>#include <algorithm>using namespace std;int main(){ int a[5] = {1, 2, 3, 4, 5}; cout << "demo01" << endl; do { cout <&l.
2021-12-07 11:26:16 484
原创 位运算 洛谷P1469 找筷子
洛谷P1469 找筷子题目描述经过一段时间的紧张筹备,电脑小组的“RP 餐厅”终于开业了,这天,经理 LXC 接到了一个定餐大单,可把大家乐坏了!员工们齐心协力按要求准备好了套餐正准备派送时,突然碰到一个棘手的问题:筷子!CX 小朋友找出了餐厅中所有的筷子,但遗憾的是这些筷子长短不一,而我们都知道筷子需要长度一样的才能组成一双,更麻烦的是 CX 找出来的这些筷子数量为奇数,但是巧合的是,这些筷子中只有一只筷子是落单的,其余都成双,善良的你,可以帮 CX 找出这只落单的筷子的长度吗?输入
2021-12-01 21:08:05 291
原创 ZZULIOJ 2871: 小T的魔法数字 阶乘算法(大一水平)
一般开个大小20的long long数组就行了20!的大小为2432902008176640000即 2e19long long可以表达到1e19左右#include <stdio.h>int main(){ long long a[21]; a[0] = 1; int i; for(i = 1; i <= 20; i++) { a[i] = a[i - 1] * i; } for(i = 1; i <= 20; i++) { prin
2021-11-30 19:35:28 241
原创 ZZULIOJ 1185: 添加记录(结构体专题)
题目描述有一学生成绩表,包括学号、姓名、3门课程成绩。已知该成绩表按学号升序排序。请编程实现,添加一个新的学生信息,且使成绩表仍按学号有序;若待添加的学号与已有学号重复,则输出错误信息,拒绝添加。输入首先输入一个整数n(1<=n<=100),表示学生人数;然后输入n行,每行包含一个学生的信息:学号(12位)、姓名(不含空格且不超过20位),以及3个整数,表示3门课成绩,数据之间用空格隔开。最后一行输入一个待添加的学生信息,包括学号、姓名和3门课成绩输出若待添加的学号与已有
2021-11-30 19:26:21 117
原创 数组计算器
对于比较大的数据,特别大(long long数据类型已经溢出的时候)此时使用数组计算器是个较好的选择,它把一个非常大的数据的每一位保存在数组的每一个元素中,这样一来,就不会存在数组越界的问题了。source#include <stdio.h>#include <string.h>char s1[20];char s2[20];int a[20];int b[20];int c[20];int main (){ int i; char ch; while
2021-11-18 20:36:31 613 3
原创 ZZULIOJ 1145 & 1067: 有问题的里程表
是一个进制转换的奇妙问题,希望大家能够熟练掌握上题!!某辆汽车有一个里程表,该里程表可以显示一个整数,为该车走过的公里数。然而这个里程表有个毛病:它总是从3变到5,而跳过数字4,里程表所有位(个位、 十位、百位等)上的数字都是如此。例如,如果里程表显示339,汽车走过1公里之后,该里程表显示350。核心思路就是 把这个问题看成是 不包含4的九进制上答案!!#include <stdio.h>#include <string.h>#d...
2021-11-13 14:40:21 1341 3
原创 ZZULIOJ-1144: 多种进制
题目描述输入一个十进制整数n,转换成2、3、7、8进制输出要求程序定义一个dToK()函数,功能是将十进制数转化为k进制整数,其余功能在main()函数中实现。void dToK(int n, int k, char str[]){//将n转化为k进制数,存入str}输入输入一个int范围内的正整数n输出输出为4行,分别是n对应的2、3、7、8进制数样例输入13样例输出11011111615答案如下(没用使用函数模块化)#include ..
2021-11-13 14:06:27 205
空空如也
strlen使用问题,循环结束问题
2021-11-03
为什么devc++字体间距这么大,怎么调整?
2021-10-27
c语言数组初始化问题
2021-10-22
float和double四舍五入问题
2021-09-28
为什么出现了错误为什么出现了错误
2021-09-22
为什么不是true为什么不是true
2021-09-20
提醒的错误提醒的错误
2021-09-16
c程序。if语句问题。
2021-08-28
TA创建的收藏夹 TA关注的收藏夹
TA关注的人