![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
ccf
记录ccf学习
Coder_Penguin
这个作者很懒,什么都没留下…
展开
-
质因数分解,简单易懂!
#include <bits/stdc++.h>using namespace std;const int maxn = 1e5+10;struct Factor{ int x,cnt;};Factor factor;Factor fac[10];//存储分解的质因数int prime[maxn],p_num=0;//存储质数int num;//准备分解的数int number = 0;//不同质因数的个数bool is_prime(int n){ if(原创 2021-03-12 21:01:21 · 257 阅读 · 0 评论 -
小小的题儿之 202006-1 线性分类器 ---- CCF
#include <bits/stdc++.h>using namespace std;const int maxn = 25;struct Node{ int x,y;};Node node;vector<Node> A;vector<Node> B;vector<Node>::iterator A_it,B_it;int n,m;int t1,t2,t0;int is[maxn];map<int,string>原创 2021-03-10 12:25:21 · 72 阅读 · 0 评论 -
201409-4 最优配餐 多源bfs
#include <iostream>#include <queue>using namespace std;const int maxn = 1e3+10;typedef long long int ll;struct Node{ int x,y,dis; Node(){}; Node(int _x,int _y,int _dis) { this->x = _x; this->y = _y;原创 2021-03-04 18:56:03 · 97 阅读 · 1 评论 -
CCF 202012-3 带配额的文件系统 大模拟 100分
本题参考了一位大哥的代码,可以说是拍案叫绝!一 题目描述:二 代码:感觉写的比较清晰了#include <iostream>#include <map>#include <string>#include <algorithm>#include <sstream>#include <vector>#include <limits.h>using namespace std;const int max原创 2021-03-04 11:28:39 · 739 阅读 · 1 评论 -
C++ 关于分数的处理与计算
1.分数的表示:结构体struct Fraction{ int up;//分子 int down;//分母 Fraction(){}; Fraction(int _up,int _down) { this->up = _up; this->down = _down; }};其中规定如下:(1)如果此分数是个分数则将符号放在分子上。(2)如果此分数是0则将分子赋值为0,分母赋值为1。(至于分母赋值为1的原因原创 2021-02-26 14:53:37 · 7081 阅读 · 0 评论 -
PAT1020 完美数列 有点意思
要点:题目要求一个数,这个数的范围是1~n,故可以采用二分查找这个数。1.假设现在这个数是k,即可以选择K个数可以用它们组成一个完美数列。我们做出这个判断的依据是题目中的条件,故只有这k个数中的最大最小值是要关心的。2.现在将输入的序列由小到大排列,而1中所用到的这个最大值最大可以是序列的最后一个元素,若用数组存储的话便为data[n-1];最小只能是data[k-1],这里的k指的是选的数。3.选好最大值后便找能作为这k个数的最小值进行验证,可以知道下标从0~i-mid+1的数都可以作为最小值,其中原创 2021-02-24 17:25:40 · 79 阅读 · 0 评论 -
PAT1015 反转链表:记有关静态链表的编程题目注意的地方:检查并去除不在链表中的项
题目引例:给定一个常数K以及一个单链表L,请编写程序将L中每K个结点反转。例如:给定L为1→2→3→4→5→6,K为3,则输出应该为3→2→1→6→5→4;如果K为4,则输出应该为4→3→2→1→5→6,即最后不到K个元素不反转。输入描述:每个输入包含1个测试用例。每个测试用例第1行给出第1个结点的地址、结点总个数正整数N(<= 105)、以及正整数K(<=N),即要求反转的子链结点的个数。结点的地址是5位非负整数,NULL地址用-1表示。接下来有N行,每行格式为:Address原创 2021-02-24 16:24:40 · 52 阅读 · 0 评论 -
字符串处理常用
#include <iostream>#include <string>#include <sstream>using namespace std;int main(){ string str,temp,str2; int num; getline(cin,str); temp = str; stringstream ss; ss<<str; while(ss>>str)原创 2021-02-23 16:22:50 · 54 阅读 · 0 评论 -
201503-4 网络延时 floyd骗70分
#include <iostream>#include <deque>#include <cstdio>#include <sstream>#include <string>using namespace std;const int maxn = 200;const int INF = 0x3fffffff;int Mgraph[maxn][maxn];int n,m;void flord(){ for(int k=1原创 2021-02-18 19:11:07 · 110 阅读 · 0 评论 -
201903-4 消息传递接口 字符串处理
字符串的处理:1.stringstream ss;头文件:#include sstream作用及说明:用字符串初始化后再输出到一个变量中时,此时相当于cin,自动将空格作为分界符2.deque,使用双端队列,当可以传递并接收时队头出队删除。代码如下:#include <iostream>#include <deque>#include <cstdio>#include <sstream>#include <string>us原创 2021-02-18 16:14:53 · 102 阅读 · 0 评论 -
CCF历年第四题所用算法思想汇总及相应c++代码
1.202012-4 食材运输 树形dp2.202009-4 星际旅行 3.202006-4 1246 dp4.201912-4 区块链 图的模拟https://www.cnblogs.com/zzqc/p/12409426.html5.201909-4 推荐系统 大模拟6.201903-4 消息传递接口 字符串处理https://blog.csdn.net/intelligentgirl/article/details/988794957.201812-4原创 2021-02-18 12:09:25 · 507 阅读 · 1 评论 -
vector存储图,Dijkstra常见题型:在保证路径最短基础上新增边权,新增点权以及求解最短路径条数
原题目描述:pat1003在本题基础上把新增边权的我也加上了,即每条边增加了花费。而新增点权即为每个城市的救援小组数目。其中把无向边当作两条方向相反的有向边存储,用vector数组实现链表存储#include <iostream>#include <vector>#include <algorithm>#include <queue>#include <string.h>using namespace std;const in原创 2021-02-10 15:53:42 · 239 阅读 · 0 评论 -
201812-2 小明放学 c++
#include <iostream>#include <cmath>typedef long long ll;using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(0); int r,y,g,n,i,op,t; ll ans =0,temp; cin>>r>>y>>g>>n; for(i = 0原创 2021-02-06 08:20:30 · 132 阅读 · 1 评论 -
表达式求值 stl容器 栈和队列的应用
#include <iostream>#include <vector>#include <algorithm>#include <stack>#include <queue>#include <string>#include <map>using namespace std;struct Node{ int num; char op; int flag;//flag指示是数字还是原创 2021-02-05 21:48:30 · 81 阅读 · 0 评论 -
CCF 201909-4 推荐系统 超时&&100分
本题梳理:共有m类产品:0~m-1类;“对于每个app新用户,每类商品初始有编号不同的n个商品”:这句话的意思是说开始输入时各类产品有n个相同的产品,这个相同包括产品编号和评分都相同。然后可以进行操作:插入/删除/查询插入:指明类别和编号和评分删除:指明类别和编号查询:从所有的产品中查询评分前k个产品,且是尽量查询(即能找到多少是多少最多不过k个)而且每一类产品也有个数限制且也有个数限制。原则是:(1)若两个评分相同且在同一类中,则选择编号小的。(2)若两个评分相同且不在同一类中,则选择类号原创 2021-01-31 17:10:43 · 137 阅读 · 0 评论 -
bfs:迷宫问题
从迷宫开始的s点走到t点,其中*代表墙壁,.代表平地。#include <iostream>#include <cstdio>#include <string>#include <algorithm>#include <cmath>#include <iomanip>#include <vector>#include <map>#include <queue>using names原创 2021-01-27 21:55:48 · 90 阅读 · 0 评论 -
CCF 202006-2 稀疏向量
map+long long int#include <iostream>#include <cstdio>#include <map>#include <algorithm>using namespace std;typedef long long ll;ll num=0;int main(){ ios::sync_with_stdio(false); cin.tie(0); int n,a,b,x,y; ci原创 2021-01-26 19:52:23 · 67 阅读 · 0 评论 -
快速求幂的递归与非递归的方法
#include <iostream>#include <cstdio>using namespace std;typedef long long int ll;ll mi(ll a,ll b)//递归方法:b为奇数则a^b=a*a^(b-1),其中b-1又为偶数;b为偶数则a^b=a^(b/2)*a^(b/2){ if(b==0) return 1; if(b&1) return a*mi(a,b-1); else{ ll原创 2021-01-24 11:27:23 · 127 阅读 · 0 评论 -
动态规划学习(1):最少硬币数Coin Change
1.先来个具体的例子题目:2.解题步骤思想:记f(x):付清x元需要的最少硬币数(1)假设f(27)=k,即最少需要1 2 3 …k枚硬币,其对应的币值分别为a1 a2 a3 …ak(2)则f(27)=f(27-ak)+1,由题知ak可能为2 5 7,故有:f(27)=f(27-2)+1f(27)=f(27-5)+1f(27)=f(27-7)+1所以f(27)=min{f(27-2)+1,f(27-5)+1,f(27-7)+1}故f(x)=min{f(x-2)+1,f(x-5)+1,f(原创 2021-01-14 13:19:30 · 221 阅读 · 0 评论 -
CCF 201403-2 窗口 c语言代码(100分&&30分),为何错了?
1.100分代码#include<stdio.h>#include<stdlib.h>typedef struct node{ int x1; int y1; int x2; int y2; int num;//输入时的编号}Lnode;int main(){ int N,M,i,j,x,y,count=0,k,flag=0; scanf("%d",&N); scanf("%d",&M);原创 2021-01-12 09:44:35 · 178 阅读 · 1 评论 -
CCF 201803-2 碰撞的小球 C语言代码
#include<stdio.h>#include<stdlib.h>int main(){ int n,l,t,i,j,k,m; scanf("%d",&n); scanf("%d",&l); scanf("%d",&t); //pos数组记录各个小球的位置 //direction数组记录各个小球的方向,同时也用于小球的移动步距 //isstrike数组记录是否发生碰撞 int pos[n原创 2021-01-08 11:09:09 · 632 阅读 · 1 评论 -
CCF201903-2二十四点,这代码真够弱智的,用栈好多了
1.320行的弱智代码,想着写都写了,改到满分再说,没想到真垃圾。不过理解是肯定好理解。就是暴力#include<stdio.h>#include<stdlib.h>int atoint(char c){ return c-'0';}int main(){ int n,i,num,j,num1; char c; char str[8]; scanf("%d",&n); scanf("%c",&c);原创 2021-01-07 19:53:38 · 118 阅读 · 0 评论