- 博客(67)
- 资源 (7)
- 收藏
- 关注
原创 linux中遇到的问题
Ubuntu区块链1.请求失败换镜像go env -w GOPROXY=https://goproxy.cn2.修改文件权限`sudo nautilus
2022-04-12 11:07:59 1784
原创 ccf区块链
得又是八十分#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct ans { int ans_top; int list[505];} ans;typedef struct message { int list[505]; int list_top; int arrivetime;} message; typedef struct vertex { int
2020-12-10 22:48:41 134 1
原创 ccf化学方程式
服了第三题就没有拿过满分下面代码又是70分不知道哪错了#include<stdio.h>#include<stdlib.h>#include<string.h>#include<math.h>int tonumber(char s[], int l, int r) { int sum = 0; for (int i = 0; i < r - l; ++i) { sum += pow(10, i) * (s[r - i - 1] -
2020-12-09 11:00:59 299
原创 批处理调度C语言
#include<stdio.h>#include<stdlib.h>#include<string.h> int *x;int **M;int *best;int *f2;int f1;int f;int bestf;int n;void init() { f = 0; f1 = 0; bestf = INT_MAX; printf("请输入作业数"); scanf("%d", &n); x = (int*)malloc(si
2020-12-06 19:07:01 853 3
原创 最优二叉搜索树C语言源代码
#include<stdio.h>#include<stdlib.h>double **w;double **e;int **s;double *p;double *q;int n;void init() { printf("请输入结点数"); scanf("%d", &n); w = (double**)malloc(sizeof(double*) * (n + 2)); e = (double**)malloc(sizeof(double*)
2020-12-06 13:07:43 1790
原创 凸多边形最优三角剖分(动态规划)
#include<stdio.h>#include<stdlib.h>#include<math.h>int **s;void back(int a, int c) { if (a == c - 1) return ; back(a, s[a][c]); back(s[a][c], c); printf("选择的三角形为%d-%d-%d\n", a, s[a][c], c);}int **graph;int weight(int a, int b,
2020-12-05 19:31:33 595
原创 ccf 点亮人生C语言源代码
这个只能拿八十分,好像是LOOP那最大值的时候爆掉了但是不知道哪爆了有没有大佬指点一下#include<stdio.h>#include<stdlib.h>#include<string.h>typedef struct object { int kind; int indegree; bool select; int output1; int output2; int input1; int input2; int result;} objec
2020-12-05 10:27:22 192
原创 最近点对问题C语言源代码
平面最近点对问题是指:在给出的同一个平面内的所有点的坐标,然后找出这些点中最近的两个点的距离.方法1:穷举1)算法描述:已知集合S中有n个点,一共可以组成n(n-1)/2对点对,蛮力法就是对这n(n-1)/2对点对逐对进行距离计算,通过循环求得点集中的最近点对2)算法时间复杂度:算法一共要执行 n(n-1)/2次循环,因此算法复杂度为O(n2)代码实现:利用两个for循环可实现所有点的配对,每次配对算出距离然后更新最短距离.for (i=0 ; i < n ;i ++){for(j= i
2020-12-03 14:32:10 3857 3
原创 单源最短路径dijkstra算法
迪杰斯特拉算法的核心就是找到源节点然后在有向图中找到以这个结点为起始结点的边的终止结点,比较这个终止结点的距离和其实结点的距离加上这条边的权值进行比较,然后做完这些操作之后就再这里写结点中找到未被选择的结点的最小值加入select集合中再将这个结点看作源结点再次递归,当选了n个结点的时候退出循环,所有的distant即为所要的值。dijkstr的时间复杂度为O(n^2)#include<stdio.h>#include<math.h>#include<stdlib.h&
2020-12-02 23:23:39 314
原创 图的m着色问题C语言源代码回溯
#include<stdio.h>#include<stdlib.h>#include<string.h>int *vertexs;int **graph;int vertex_number; int edge_number;int m;//初始化图和结点void init() { printf("请输入颜色的数量"); scanf("%d", &m); printf("请输入结点的数量"); scanf("%d", &ver
2020-12-02 16:51:14 883
原创 prim算法 和 kruskal算法最小生成树C语言源代码
#include<stdio.h>#include<stdlib.h>#include<string.h>int **graphics;int n;int sign;typedef struct node { int number; bool select; int mindist; int parent;}node; node *nodes;void init() { sign = 0; printf("请输入最大结点数值");
2020-11-30 21:00:10 607
原创 回溯0-1背包
#include<stdio.h>#include<stdlib.h> #include<math.h>#include<string.h>int curval;int curcap;int maxval;int bagcap;char *ans;char *maxans;int n;//每件物品的属性 typedef struct object { int n; int val; int cap;}object;obje
2020-11-30 16:06:11 43
原创 哈夫曼树和哈夫曼编码源代码
#include<stdio.h>#define n 8#define m (2*n-1)//创建结点结构体 typedef struct huffnode { int weight; int parent; int lchild; int rchild;}huffnode;//创建每个字母的结构体 typedef struct huffcode { int start = 0; char co[n + 1]; char ch;}huffcode;//存放每一个树
2020-11-30 10:26:38 405
原创 基排序
#include<stdio.h>#include<time.h>#include<stdlib.h>#include<math.h>#include<string.h> int main(){ srand((unsigned int)time(NULL)); int n = 100; int nums[n]; int buf[n]; for (int i = 0; i < n; ++i) { nums[i] = r
2020-11-28 15:08:26 139
原创 uthash
#include"uthash"头文件struct hashTable { int key; int count; UT_hash_handle hh;}定义哈希表数据结构。HASH_FIND_INT(h, &ikey, t1);头节点为h,值为ikey,在哈希表中寻找ikey的值并将这个结点赋值给t1。HASH_ADD_INT(h, key, t2);将结点t2放入哈希表中并将key赋值。...
2020-11-27 23:13:38 89
原创 memset(a, 0x3f, sizeof(a))
如果我们想要将某个数组清零,我们通常会使用memset(a,0,sizeof(a)),方便又高效,但是当我们想将某个数组全部赋值为无穷大时,就不能使用memset函数而得自己写循环了,因为memset是按字节操作的,它能够对数组清零是因为0的每个字节都是0(一般我们只有赋值为-1和0的时候才使用它)。现在好了,如果我们将无穷大设为0x3f3f3f3f,那么奇迹就发生了,0x3f3f3f3f的每个字节都是0x3f!所以要把一段内存全部置为无穷大,我们只需要memset(a,0x3f,sizeof(a))。
2020-10-24 23:11:51 2868
原创 scanf(“%d“, &a) 和空格
空格将会作为各个数之间隔离的标志scanf("%d%d", &a, &b);printf("%d%d", a, b);如果输入“1a1”将会得到17541648很明显是错误的而输入“ 1 15 ”将会得到115
2020-10-16 21:01:36 1015
原创 256MB
256 MB = 256 * 1024 * 8 kB = 256 * 1024 * 1024 * 8 b = 2147483648 b;int 4 字节 = 4 B = 32 b;long long int 8 字节 = 8 B = 64 b;256 MB / 32 b = 67108864 (int);256 MB / 64b = 33554432 (long long int) ;一般来说申请数组 int nums[67108864] 就为最大了;当然long long int nums[
2020-10-15 14:54:38 2740
原创 qsort 结构体
int comp(const void* a, const void* b) { struct node* x = (struct node*)a; struct node* y = (struct node*)b; return x->ts - y->ts;}
2020-10-11 15:49:47 107
原创 快慢指针解决链表的环状问题
struct ListNode *detectCycle(struct ListNode *head) { struct ListNode* low = head; struct ListNode* fast = head; while (fast) { low = low->next; if (!fast->next) { return NULL; } fast = fast-&..
2020-10-10 22:45:42 111
原创 快速幂快速乘
long long quick_pow(long long x,long long y,long long mod){ long long sum=1; while(y!=0){ if(y&1==1)sum=sum*x%mod; x=x*x%mod; y=y>>1; }}
2020-10-02 23:31:26 48
原创 堆排序
堆排序过程的代码实现需要解决两个问题:1.如何将得到的无序序列转化为一个堆?2.在输出堆顶元素之后(完全二叉树的树根结点),如何调整剩余元素构建一个新的堆?#include <stdio.h>#include <stdlib.h>#define MAX 9//单个记录的结构体typedef struct { int key;}SqNote;//记录表的结构体typedef struct { SqNote r[MAX]; int length
2020-09-29 22:52:09 112
原创 将二维数组放入函数中参数的处理问题
void func(char str[][5])函数中的数组无法定位所以需要将列数给出,不然会出现无法将char** 到 char* []的转换
2020-09-20 21:45:32 102
原创 并查集
int find(int index) { return index == ancestor[index] ? index : (ancestor[index] = find(ancestor[index]));}void merge(int u, int v) { ancestor[find(u)] = find(v);}将每个结点归并为一个祖先
2020-09-17 22:35:00 40
原创 qsort结构体
struct hash_table { int val; int cnt;};int cmp(const void* a, const void* b) { return *(int*)a - *(int*)b;}int cmps(const void* a, const void* b) { return (*(struct hash_table*)b).cnt - (*(struct hash_table*)a).cnt;}int* topKFr
2020-09-07 22:49:05 288
原创 二叉树层序遍历
利用数组来存储结点,每一层的树节点用len来表示长度int** levelOrderBottom(struct TreeNode* root, int* returnSize, int** returnColumnSizes){ int** levelorder = malloc(sizeof(int*) * 2001); *returnColumnSizes = malloc(sizeof(int) * 2001); *returnSize = 0; if(!root)
2020-09-06 22:57:39 145
原创 printf和sprintf
1.返回值printf返回字符串长度sprintf返回添加字符串长度2.字符串1.char* a;2.char* a = "asd";3.char a[10] = "asd";sprintf中的字符串声明不能用第二种方式,函数将会直接封装成字符串第一种和第三种都可以支持;...
2020-09-05 15:51:31 61
原创 qsort函数一维数组二维数组
当为一维数组时/* qsort example */#include <stdio.h> /* printf */#include <stdlib.h> /* qsort */int values[] = { 40, 10, 100, 90, 20, 25 };int compare (const void * a, const void * b){ return ( *(int*)a - *(int*)b );}int main (){
2020-08-27 21:45:10 568
原创 memcpy
memcpy指的是C和C++使用的内存拷贝函数,函数原型为void *memcpy(void *destin, void *source, unsigned n);函数的功能是从源内存地址的起始位置开始拷贝若干个字节到目标内存地址中,即从源source中拷贝n个字节到目标destin中。 memcpy(c, temp, sizeof(char) * temp_size);...
2020-08-26 23:29:31 189
原创 数字范围按位与
给定范围 [m, n],其中 0 <= m <= n <= 2147483647,返回此范围内所有数字的按位与(包含 m, n 两端点)。如果用暴力方法的话会超时寻找公共前缀int rangeBitwiseAnd(int m, int n){ int shift = 0; while (m < n) { m >>= 1; n >>= 1; shift++; } return
2020-08-23 10:24:01 220
原创 图的深度遍历dfs
测试用例格式:简单起见,每个节点的值都和它的索引相同。例如,第一个节点值为 1(val = 1),第二个节点值为 2(val = 2),以此类推。该图在测试用例中使用邻接列表表示。邻接列表 是用于表示有限图的无序列表的集合。每个列表都描述了图中节点的邻居集。给定节点将始终是图中的第一个节点(值为 1)。你必须将 给定节点的拷贝 作为对克隆图的引用返回。 示例 1:输入:adjList = [[2,4],[1,3],[2,4],[1,3]]输出:[[2,4],[1,3],[2,4
2020-08-12 21:42:52 150
原创 图的广度遍历
你这个学期必须选修 numCourse 门课程,记为 0 到 numCourse-1 。在选修某些课程之前需要一些先修课程。 例如,想要学习课程 0 ,你需要先完成课程 1 ,我们用一个匹配来表示他们:[0,1]给定课程总量以及它们的先决条件,请你判断是否可能完成所有课程的学习?bool canFinish(int numCourses, int** prerequisites, int prerequisitesSize, int* prerequisitesColSize) { i
2020-08-04 23:12:47 177
原创 root->left和temp=root->left的区别
struct tree root = (struct tree*)malloc(sizeof(struct tree));root->val = 1;root->left = NULL;root->right = NULL;temp = root->left;当然我们会想到temp 和 root->left 意义相同没有任何区别,但有一种情况却出现的差别。root->right = (struct tree*)malloc(sizeof(struct tre
2020-08-02 11:37:20 1782
原创 二分法 +贪心
给定一个非负整数数组和一个整数 m,你需要将这个数组分成 m 个非空的连续子数组。设计一个算法使得这 m 个子数组各自和的最大值最小。注意:数组长度 n 满足以下条件:1 ≤ n ≤ 10001 ≤ m ≤ min(50, n)示例:输入:nums = [7,2,5,10,8]m = 2输出:18解释:一共有四种方法将nums分割为2个子数组。其中最好的方式是将其分为[7,2,5] 和 [10,8],因为此时这两个子数组各自的和的最大值为18,在所有情况中最小。
2020-07-25 23:03:26 249
原创 python 爬网页
#!/usr/bin/python# -*- coding: utf-8 -*-from selenium import webdriverfrom selenium.webdriver.common.keys import Keys #引入键盘事件import timedriver = webdriver.Chrome(executable_path='chromedriver.exe')#声明谷歌浏览器对象first_url = 'http://www.4399.com/' #入口urld
2020-07-24 13:36:55 106
原创 爬虫
import requestsfrom bs4 import BeautifulSoup as bsimport timeheaders ={ 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36'}html = requests.get('https://movie.douban.
2020-07-23 14:29:22 62
A*算法c#.net
2020-11-11
2018065726_魏彦锜_2020.8.12_社区博客.zip
2020-08-14
2018065726魏彦锜环境.cpp
2020-06-29
2018065726魏彦锜数据库.cpp
2020-06-29
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人