![](https://img-blog.csdnimg.cn/20210327180401974.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
杭电
。
uadsbkc
这个作者很懒,什么都没留下…
展开
-
#杭电3# 单源最短路径
题目思路dij+优先队列+前向星代码#include <iostream>#include <cstring>#include <vector>#include <queue>#define MAXX 200005#define INF 0x3f3f3f3fusing namespace std;struct Edge{ int to, dis, next;} e[MAXX];int head[MAXX], vis[MA原创 2021-03-24 20:24:58 · 49 阅读 · 0 评论 -
#杭电3# 甘老板发红包
题目思路反向建图,但是有空间要求用vector数组来表示邻接表,会节省一些空间~代码#include <iostream>#include <cstring>#include <vector>#define MAXX 10005using namespace std;int in[MAXX], ans[MAXX];int main(){ int n, m; while (cin >> n >> m)原创 2021-03-22 22:37:41 · 280 阅读 · 2 评论 -
#杭电3# 确定比赛名次
题目思路拓扑排序水题,数据范围很小,所以用暴力的方式是可以解决的代码#include <iostream>#include <cstring>#define MAXX 1000using namespace std;int map[MAXX][MAXX];int ans[MAXX], in[MAXX];void topsort(int N){ int t = 0; for (int i = 1; i <= N; ++i) {原创 2021-03-22 21:14:09 · 62 阅读 · 0 评论 -
#杭电2# Color the ball
题目思路差分 、水~代码#include <cstdio>#include <iostream>#include <cstring>using namespace std;int a[100010];int main(){ int n, x, y; while(scanf("%d",&n) && n) { memset(a, 0, sizeof(a)); for(int原创 2021-03-21 17:32:11 · 66 阅读 · 0 评论 -
#杭电2# 交换的次数1+2
题目数据1数据2思路肯定不是用一次次计算的方式做冒泡排序:本质:求逆序对总数,交换就是逆序的时候基本思想:之后每次用树状数组求1的个数即可需要注意的是:有相等的数&离散化的处理方法(结构体)//内个,时间过了提交不了了。。。找了一份ac的代码学学代码#include <iostream>#include <string.h>#include <algorithm>using namespace std;const int原创 2021-03-21 15:49:44 · 246 阅读 · 0 评论 -
#杭电2# 敌兵布阵
题目思路树状数组模板~代码#include <iostream>#include <cstring>#define MAXX 50001using namespace std;int c[MAXX];int n;int lowbit(int x){ return x & (-x);}int sum(int i) //求1,i之间的和{ int ans = 0; //一定记得初始化 while (i > 0)原创 2021-03-18 18:22:51 · 56 阅读 · 0 评论 -
#杭电2# 最低位
题目代码好久没有看到这么水的题了哈哈哈哈哈#include <iostream>#include <cstring>#define MAXX 3005using namespace std;int main(){ int N; while (cin>>N) { if (N==0) break; int num = 0; while (N%2 == 0)原创 2021-03-14 15:12:54 · 33 阅读 · 0 评论 -
#杭电1# Seinfeld
题目要改变多少个,{,},,才能使序列合法,合法如下All of these strings are stable: {}, {}{}, and {{}{}}; But none of these: }{, {{}{, nor {}{.思路一个字符串,去掉合法的对数,对不合法的进行处理即可不合法有2种情况:只有{或}。那么➗2即可~}}}{{{交替出现:{{}}}}这种情况为中间过程。{}总数必须为偶数。当为奇数时,如}}}}}{{{,需要n/2+1次,当}}}{{{时,需要n/2次代码原创 2021-03-11 22:31:11 · 64 阅读 · 0 评论 -
#杭电1# What Are You Talking About
题目给你密码表,然后翻译单词思路原创 2021-03-11 17:39:15 · 88 阅读 · 0 评论 -
#杭电1# 第M个数列
题目思路本来想了一个比较麻烦的方法,但是找到一个很简单的,使用了在头文件里面的全排列函数发现函数next_permutation()是按照字典序产生排列的,并且是从数组中当前的字典序开始依次增大直至到最大字典序就是给你排列好了,直接用就行,感觉不大常用,记住记住代码#include <iostream>#include <algorithm>using namespace std;int main() { int n = 0, m = 0; whil原创 2021-03-10 22:34:43 · 139 阅读 · 0 评论 -
#杭电1# 统计书名
题目思路用set代码#include <iostream>#include <stack>#include <vector>#include <set>#define MAXX 100005using namespace std;int main(){ int n; string name; while (cin >> n) //注意多组输入 { set<stri原创 2021-03-10 22:16:50 · 71 阅读 · 0 评论 -
#杭电1# 火车进站问题
题目思路代码#include <iostream>#include <stack>#include <vector>#define MAXX 100005using namespace std;int main(){ int N; string in, out; while (cin >> N) { vector<string> v; stack<int&原创 2021-03-10 22:09:25 · 107 阅读 · 0 评论 -
#杭电1# {A} + {B}
题目思路使用set:元素是排序好的元素是唯一的,没有重复的代码#include <iostream>#include <set>using namespace std;int main(){ int n, m; while (cin >> n >> m) { set<int> s; int x; for (int i = 0; i < n;原创 2021-03-09 09:42:20 · 47 阅读 · 0 评论