- 博客(17)
- 收藏
- 关注
原创 CCF 201803-2 碰撞的小球
解法一#include <iostream>#include <algorithm>#define N 100005using namespace std;int a[2][N] = { 0 }; // 球位置int d[N] = { 0 }; // 球方向int main() { freopen("in.txt", "r", stdin);...
2020-03-31 13:10:06 94 1
原创 CCF 201812-2 小明放学
#include <iostream>using namespace std;int main() { freopen("in.txt", "r", stdin); int r, y, g, n; cin >> r >> y >> g >> n; int gyr = r + y + g; long long cur_...
2020-03-30 17:47:52 104
原创 机试指南-多重背包问题-珍惜现在,感恩生活
描述代码#include <iostream>#include <algorithm>#include <string>#include <queue>#include <vector>#include <cmath>#include <cstring>#define MAX_N ...
2020-03-03 03:13:20 126
原创 机试指南-深搜-类似迷宫题
问题大意剪枝代码#include <iostream>#include <algorithm>#include <queue>#include <vector>#include <cmath>#include <cstring>#define N 105using namespace s...
2020-03-02 15:19:32 96
原创 机试指南-搜索-广搜-非常可乐(更简单写法)
题目描述代码#include <iostream>#include <queue>#include <cstring>#define N 105using namespace std;struct Status{ int ml[3]; int t; Status(int _ml[], int _t = 0){ ml[0]...
2020-03-02 01:43:53 166
原创 CCF考试_损坏的RAID5_201903-3
参考网上#include <iostream>#include <ios>#include <string>#include <cstdio>#include <cstring>#define MAX_N 1010 // 最大硬盘数using namespace std;string disk[MAX_N];...
2019-07-22 17:10:40 577
原创 最大流 和 最小花费最大流
最大流int n, m; // 顶点和边数int flow[100][100], cap[100][100]; // 流量和容量int p[100]; // 上一个节点int a[100]; // 从s到此节点最小残量void read(){ cin >> n >> m; for(int i = 0; i < m; i++){ int x, y...
2019-07-21 18:57:40 224
原创 最小生成树Prim和Kruskal
Kruskalint n, m; // 顶点和边数int u[100], v[100], w[100]; // 边顶点和权重int r[100]; // 边权重从小到大的下标int pa[100]; // 并查集所用void read(){ cin >> n >> m; for(int i = 0; i < m; i++){ int x, y,...
2019-07-21 16:11:11 69
原创 Floyd-Warshall算法
int n, m; // 顶点数和边数int d[100][100]; // 边(i,j)的权重void read_and_init(){ cin >> n >> m; // 初始化d for(int i = 0; i < n; i++){ for(int j = 0; j < n; j++){ d[i][j] = INF; } ...
2019-07-21 15:50:32 122
原创 Bellman-Ford算法
普通int n, m; // 节点和边数int d[100]; // 最短距离int u[100], v[100], w[100]; // idx为边void read(){ cin >> n >> m; for(int e = 0; e < m; e++){ cin >> u[e] >> v[e] >> w[...
2019-07-21 15:06:18 93
原创 数的分解(素数幂的乘积)。不用STL的map。算法入门经典183页例题10-4。
#include <iostream>#include <cmath>#include <cstring>#include <map>#include <utility>#include <ctime>using namespace std;struct DisaNode{ DisaNode(int pr...
2019-07-05 22:49:58 432
原创 数的分解(素数幂的乘积)。效率不高。算法入门经典183页例题10-4。
#include <iostream>#include <cmath>#include <cstring>#include <map>#include <utility>#include <ctime>using namespace std;int n, m; // 数的数量,除数//// 获取n的分解...
2019-07-05 21:58:21 593
原创 单元最短路径-Dijkstra算法
普通方法const int INF = 10000;const int MAX_V = 100;int cost[MAX_V][MAX_V]; // 花费int d[MAX_V]; // 起始顶点到所有顶点最短距离bool S[MAX_V]; // 是否在集合中int V = 7; // 顶点数// 传入的是起始顶点void dijkstra(int s){ fill(d, ...
2019-05-31 11:22:54 496
原创 哈希表
#define MAX_HASH_SIZE 10 // 按需调整struct Node{ int data; Node *next;};struct HashTable{ Node *head[MAX_HASH_SIZE];};void init_hash_table(HashTable &ht){ memset(&ht, 0, sizeof(ht)); ...
2019-05-31 11:20:17 363
原创 各种查找算法
二分查找int binary_search(int a[], int len, int key){ int l = 0, h = len - 1; int m; while(l <= h){ m = (l + h) / 2; if(a[m] == key) return m; else if(a[m] < key) l = m + 1; else...
2018-11-13 17:21:51 102
原创 求集合交、并、差集
目录交集函数主函数调用并集函数主函数调用差集函数主函数调用交集 函数 int intersection(int a[], int len1, int b[], int len2, int c[]){ quick_sort(a, 0, len1 - 1); // 首先快速排序 quick_sort(b, 0, len2 - 1...
2018-11-13 17:06:13 979 1
原创 各种排序算法
快速排序void quick_sort(int a[], int l, int h){ if(l >= h) return; int i = l, j = h; int tmp = a[l]; while(i < j){ while(i < j && a[j] >= tmp) // 若和以下写a[j] > tmp和a[i] ...
2018-11-13 15:50:54 157
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人