![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
考证
tobe_numberone
黑龙江科技大学在读本科生
展开
-
1067 Sort with Swap(0, i) (25 point(s)并查集做法
思路对于a[i] = j 的时候,将i和j加入到同一个集合中对于一个集合,如果该集合中有0,则只需要交换集合个数cnt-1,因为0是自动归位的如果该集合中没有0,就需要拿一个数跟0交换(交换次数+1),然后这个集合就有0了,交换次数为集合个数cnt-1,然后还需要将0从哪拿的再放回去(交换次数+1)所以并查集维护一下就好了,用一个记录集合元素个数会更加好写#include <iostream>#include <stdio.h>#include <algorith原创 2021-03-12 17:48:28 · 102 阅读 · 0 评论 -
1009 Product of Polynomials (25 point(s))
1009 Product of Polynomials (25 point(s))指数相加,对应系数相乘,累加一下#include <stdio.h>#include <iostream>#include <cstring>#include <queue>#include <vector>#include <algorithm>#include <cmath>using namespace std;typ原创 2021-02-05 18:15:15 · 99 阅读 · 0 评论 -
1008 Elevator (20 point(s))
1008 Elevator (20 point(s))简单模拟,巨水#include <stdio.h>#include <iostream>#include <cstring>#include <queue>#include <vector>#include <algorithm>using namespace std;typedef long long ll;const int maxn = 1e6+10;co原创 2021-02-05 17:44:41 · 99 阅读 · 0 评论 -
1007 Maximum Subsequence Sum (25 point(s))
1007 Maximum Subsequence Sum (25 point(s))用dp[i]=sum,vdp[i] = {sum,v}dp[i]=sum,v 表示以i结尾的连续子序列,最大的和是多少,以及开头数字是什么。然后就看每一个dp[i]dp[i]dp[i]是接着dp[i−1]dp[i-1]dp[i−1],还是以自身作为连续子序列开始,这两种方案谁的sumsumsum更大#include <stdio.h>#include <iostream>#include &l原创 2021-02-05 17:32:20 · 103 阅读 · 0 评论 -
1006 Sign In and Sign Out (25 point(s))
1006 Sign In and Sign Out (25 point(s))字符串排序,从小到大,从大到小排两次,输出。#include <stdio.h>#include <iostream>#include <cstring>#include <queue>#include <vector>#include <algorithm>using namespace std;typedef long long ll;原创 2021-02-05 17:11:31 · 103 阅读 · 0 评论 -
1005 Spell It Right (20 point(s))
1005 Spell It Right (20 point(s))将各位加起来的数,按英语一个一个单词输出#include <stdio.h>#include <iostream>#include <cstring>#include <queue>#include <vector>#include <algorithm>using namespace std;typedef long long ll;const in原创 2021-02-05 17:03:39 · 120 阅读 · 0 评论 -
1004 Counting Leaves (30 point(s))
1004 Counting Leaves (30 point(s))用vectorvectorvector进行存树,然后使用dfs,对每一层的叶子节点进行计数,然后输出。要记录一个树的深度,输出的时候要用#include <stdio.h>#include <iostream>#include <cstring>#include <queue>using namespace std;typedef long long ll;const int原创 2021-02-05 16:03:24 · 118 阅读 · 0 评论 -
1003 Emergency (25 point(s))
1003 Emergency (25 point(s))最短路算法+简单dp一边跑最短路,一边记录到当前这个状态有多少条路径,到当前这个点,最多经过多少个点权#include <stdio.h>#include <iostream>#include <queue>using namespace std;typedef long long ll;const int maxn = 1e6+10;const int inf_int = 1e9;int N,M原创 2021-02-05 15:40:11 · 124 阅读 · 0 评论 -
1002 A+B for Polynomials (25 point(s))
1002 A+B for Polynomials (25 point(s))就定义一个数组ans[]ans[ ]ans[],在对应次方的位置加它的系数。看一共有多少项的时候,要根据系数是否为0来计数。然后再次方从高到低来输出#include <stdio.h>#include <iostream>using namespace std;const int maxn = 1e6+10;double ans[maxn];int main(){ int k;ci原创 2021-02-05 14:34:23 · 105 阅读 · 0 评论 -
1001 A+B Format (20 point(s))
1001 A+B Format (20 point(s))情况分为0和非0的情况,结果是0的情况直接输出,非0的情况:如果是小于0先输出负号,然后进行dfs利用其回溯来输出各个位#include <stdio.h>#include <cstring>#include <algorithm>#include <vector>#include <stack>#include <queue>#include <iost原创 2021-02-05 13:26:42 · 109 阅读 · 0 评论 -
PAT甲级 刷题面板
题目名称题解1001 A+B Format (20 point(s))原创 2021-02-05 13:23:18 · 334 阅读 · 0 评论 -
202006-2 稀疏向量
202006-2 稀疏向量因为N太大了,所以得用map来存一下,同时可以记录一下出现过哪些index,记录一下,然后遍历map,如果同一个位置,两个向量在这里都非0.那么项乘加到结果上。#include <stdio.h>#include <iostream>#include <queue>#include <map>#include <vector>#include <algorithm>#include <cs原创 2021-02-02 14:54:26 · 106 阅读 · 1 评论 -
202006-1 线性分类器
202006-1 线性分类器一条线把若干点分成两部分,那么肯定是一部分点在线上,代入直接方程后,大于0,一部分点在线下,代入直线方程后,小于0#include <stdio.h>#include <iostream>#include <queue>#include <map>#include <vector>#include <algorithm>#include <cstring>using namesp原创 2021-02-02 14:31:12 · 100 阅读 · 0 评论 -
202009-2 风险人群筛查
202009-2 风险人群筛查直接模拟即可#include <stdio.h>#include <iostream>#include <queue>#include <map>#include <vector>#include <algorithm>#include <cstring>using namespace std;typedef long long ll;void pt(){ cout<原创 2021-02-02 14:05:26 · 77 阅读 · 0 评论 -
csp刷题面板
20年12月份题解链接202012-1 期末预测之安全指数小模拟100分202012-2 期末预测之最佳阈值前缀和或者队列100分202012-3 带配额的文件系统–202012-4 食材运输树形dp+状压dp100分202012-5 星际旅行线段树80分20年9月份题解链接202009-1 称检测点查询202009-1 称检测点查询...原创 2021-02-02 13:42:34 · 178 阅读 · 1 评论 -
201512-3 画图
201512-3 画图划线就直接划线了,填充用DFS/BFS都可以对于一个位置是否要输出为+, 可以直接对位置进行被横线覆盖的次数,被竖线覆盖的次数,如果同时被覆盖,输出的时候临时改成+输出就行了cnt1[x][y]cnt1[x][y]cnt1[x][y]记录位置x,y被横线覆盖的次数cnt2[x][y]cnt2[x][y]cnt2[x][y]记录位置x,y被竖线覆盖的次数#include <stdio.h>#include <iostream>#include &l原创 2021-02-02 13:37:06 · 102 阅读 · 0 评论 -
202012-2 期末预测之最佳阈值
202012-2 期末预测之最佳阈值如果当前选择标准是c,那么就统计y<c,result=0y<c,result = 0y<c,result=0的个数 + y>=c,result=1y>=c,result = 1y>=c,result=1的个数也就是[0,c−1][0, c-1][0,c−1]有多少个result = 0,[c,1e8][c,1e8][c,1e8]多少个result = 1所以可以分别记录两个前缀和数组,一个记录预测为0的分布的数字前缀和,一个记录预原创 2021-02-02 13:35:06 · 135 阅读 · 0 评论 -
202012-1 期末预测之安全指数
202012-1 期末预测之安全指数根据题目要求来即可#include <stdio.h>#include <iostream>using namespace std;typedef long long ll;int N;int main(){ cin>>N; ll res = 0; for(int i = 1;i<=N;i++){ int x,y;scanf("%d %d",&x,&y);原创 2021-02-02 13:34:30 · 100 阅读 · 0 评论 -
ccf csp 202009-1 称检测点查询
202009-1 称检测点查询要从一堆点中,找出距离(x,y)(x,y)(x,y)最近的3个点,直接定义一下排序规则,排序后输出前3个点的编号即可#include <stdio.h>#include <iostream>#include <queue>#include <map>#include <vector>#include <algorithm>#include <cstring>using name原创 2021-02-02 13:31:09 · 203 阅读 · 0 评论 -
CCF CSP刷题日志2020年12月
2021/1/31202012-1 期末预测之安全指数根据题目要求来即可#include <stdio.h>#include <iostream>using namespace std;typedef long long ll;int N;int main(){ cin>>N; ll res = 0; for(int i = 1;i<=N;i++){ int x,y;scanf("%d %d",&x,原创 2021-01-31 13:28:23 · 523 阅读 · 0 评论