- 博客(11)
- 收藏
- 关注
原创 链表的基本使用
链表1.链表的定义使由若干个结点组成(每个结点代表一个元素),且结点在内存中的存储位置通常是不连续的。除此之外,链表的两个结点之家你一般通过一个指针来从一个结点指向另一个结点,因此链表的结点一般由两部分组成,即数据域和指针域:struct node{ int data; node* next;};2.链表的操作创建链表主要用到三个指针,p, pre(前驱指针,指向当前结点的前驱结点), head(头结点)node* create(int a[]){ node *p, *pre
2022-05-30 16:14:20
1340
原创 ccf csp 202203-2 出行计划
问题描述最近西西艾弗岛上出入各个场所都要持有一定时限内的核酸检测阴性证明。具体来时,如果在t时刻做了核酸检测,则经过一段时间后可以得到核酸检测阴性证明。这里我们假定等待核酸检测结果需要k个单位时间,即在t+k时刻可以获得结果。如果一个场所要求持24个单位时间内核酸检测结果入内,那么凭上述的核酸检测结果,可以在第t+k时刻到第t+k+23时刻进入该场所。小 C 按时间顺序列出接下来的n项出行计划,其中第i项(1≤i≤n)可以概括为:ti时刻进入某场所,该场所需持...
2022-05-27 22:14:59
599
原创 位运算的基础用法总结
位运算概览1.&:与操作 两个位都为1时,结果才为12.|:或操作 两个位都为0时,结果才为03.^:异或操作 两个位相同为0,相异为14.~:取反 0->1 1->05.<< :左移 各二进位全部左移若干位,高位丢弃,低位补06.>> :右移 各二进位全部右移若干位,对无符号数,高位补0位运算操作1. 按位与运算符(&)规则:与操作 两个位都为1时,结果才为10&0=0 0&1=0 1&0=0 1&1=
2022-05-27 19:31:49
7470
原创 重邮acm校赛 A.辉哥喜欢异或
辉哥喜欢异或 - 题目 - CQUPT Online Judge题目描述辉哥非常喜欢异或运算,因为异或有一些非常奇妙的性质现在辉哥有一个长度为的n数组a和一个整数x,每次他可以从数组中选择一个元素ai并把它替换成ai^x,其中^代表按位异或运算现在辉哥想知道,他至少需要几次操作可以得到两个相同元素,请你写一个程序来帮助他。如果无论经过几次操作都无法满足要求,请尽情嘲讽他,输出huige is so vegetable!输入格式第一行输入一个整数n和一个整数x,以空格隔开,分别代表
2022-05-09 14:54:27
176
原创 重邮acm校赛 F.火柴棍
#include<bits/stdc++.h>#define x first#define t secondusing namespace std;typedef pair<int, int> PII;const int N=10010;int n,m,a[10]= {0,2,5,5,4,5,6,3,7,6};string dp[N];PII num[20];bool cmp(PII &l,PII &r){ if(l.x == r.
2022-05-08 16:49:32
532
原创 汉明距离 --- 字符串处理+前缀和+找规律
21级大数据拔尖班练习赛【周次:4】 - Virtual Judge输入1010011输出12输入20100111输出23思路我们先取到x和y的长度:首先考虑x(01)的第一位(0),它只与y(0011)的前三位比较,如果y为0对答案没有贡献,只有y为1才对答案贡献1;再考虑x的第二位(1),它从y的第一位开始比较,一直到最后一位,只用y为0时才对答案贡献1,y为1则不贡献答案于是我们看到二十万的数据,肯定不能使用双指针遍历两次,这样会得到n方的.
2022-05-07 16:49:47
575
原创 The Same Calendar
#include <iostream>#include <cstring>#include <algorithm>using namespace std;int n;bool isleap(int n){ if((n%400 == 0) || (n%4 == 0 && n%100 != 0)) return false; else return true;}int main(){ while(scanf...
2022-05-06 23:05:20
98
原创 POJ 3279 Fliptile
3279 -- Fliptile位运算,类似于acwing95.费解的开关95. 费解的开关 - AcWing题库一排一排的翻,再看最后一排能不能翻对#include <iostream>#include <cstring>#include <algorithm>#include <cmath>using namespace std;const int N = 20;int dx[5] = {-1, 0, 1, 0, 0}, d
2022-05-06 11:25:41
104
原创 The Labyrinth (DFS)
题目大致意思就是说给你一个迷宫的地图,让你找到从每一个走不通的地方(*)旁边紧靠着的空地(.)的大小(最后要加上自己,也就是空地的数量加一)很容易想到使用bfs或者dfs,这里我们就使用dfs遍历每个空地联通块,不能直接暴力记录,会超时,使用标号连通块加set的使用能够减少时间消耗代码具体实现如下#include <bits/stdc++.h>using namespace std;const int N = 1010;int n,m;int cnt;...
2022-05-06 11:15:29
446
5
原创 HDU 1087 Super Jumping Jumping Jumping ----DP
https://vjudge.net/contest/490548#problem/G#include <iostream>#include <cstring>#include <algorithm>using namespace std;const int N = 10010;int n;int a[N],f[N];int main(){ while(cin>>n && n){ memset
2022-05-01 15:11:22
331
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人