12 2020 档案
BUU-RE-刮开有奖-WinMain
摘要:WinMain函数参数介绍 int WINAPI WinMain( HINSTANCE hInstance, // handle to current instance HINSTANCE hPrevInstance, // handle to previous instance LPSTR lpC
ACM-NEFUOJ-最小树-Prim算法
摘要:最小树1 Description 某省长调查交通情况,发现本省交通事故发生不断,于是决定在本省内全部修建地铁。 该省长得到的统计表中列出了任意两市之间的距离,为了确保任何两个市都可以直接 或者间接实现地铁交通,并要求铺设的地铁总长度最小,请计算最小的地铁总长度。 Input 测试输入包含若干测试用例
ACM-NEFU-2020大一寒假培训三(暴力)
摘要:A.二倍的问题 Description 给定2到15个不同的正整数,你的任务是计算这些数里面有多少个数对满足:数对中一个数是另一个数的两倍。比如给定1 4 3 2 9 7 18 22,得到的答案是3,因为2是1的两倍,4是2个两倍,18是9的两倍。 Input 输入包括n组测试数据。每组数据包括一行
buuctf-RE-SimpleRev
摘要:IDA 打开 将main函数反编译为C代码 1 int __cdecl __noreturn main(int argc, const char **argv, const char **envp) 2 { 3 int v3; // eax 4 char v4; // [rsp+Fh] [rbp-1
ACM-NEFU新生训练2-排序和CMP
摘要:A.谁考了第k名-排序 Description 在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学号和成绩,求考第k名学生的学号和成绩。 Input 第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。 其后有n行数据,每行包括一个学号(整数)和一个成绩
CTF-NEFU校赛-题解
摘要:Write by NEFUNSI: ghosin 0ERROR 签到 signin 下载 signin.txt 打开得到一串 base64,解码得到 flag{we1come_t0_NEFUCTF!} 。 Re_SignUp 下载 SignUp ,使用 010 Editor 打开发现是 Linux
汇编学习-堆栈平衡
摘要:概念 当调用某处的函数时,函数一般会使用堆栈作为存储的对象,这里就涉及到了堆栈使用结束后,如果不将堆栈及时还原而直接RETN,就会造成EIP的值被改变(00000000),从而导致程序运行错误,因此,每次分体函数执行完毕后,都应该将使用过的堆栈还原到使用之前的内容。 如果通过堆栈传递参数了,那么在函
ACM-DP-数塔问题
摘要:Description 在讲述DP算法的时候,一个经典的例子就是数塔问题,它是这样描述的: 有如下所示的数塔,要求从顶层走到底层,若每一步只能走到相邻的结点,则经过的结点的数字之和最大是多少? 已经告诉你了,这是个DP的题目,你能AC吗? Input 输入数据首先包括一个整数C,表示测试实例的个数,
ACM-NEFUOJ-P239回文数
摘要:#include<bits/stdc++.h> using namespace std; int n,p[1000],len,p1[1000]; int f() { int i; for(i=0;i<=len;i++) if(p[i]!=p[len-i]) return 0; return 1; }
ACM-NEFUOJ-P210畅通工程并查集
摘要:题目:我已经明示到这个程度了你还不用并查集? #include<bits/stdc++.h> using namespace std; const int MAXN=1010; int F[MAXN]; int GetFather(int x) { return F[x]==x?x:F[x]=Get
ACM-NEFUOJ-P209湖南修路
摘要:思路 prim的最小生成树,套上肝就完事了 代码 #include<iostream> #include<cstdio> #include<string.h> #define MAX 999999; using namespace std; int map[105][105],dist[105];
ACM-NEFUOJ-汉诺塔问题
摘要:P200汉诺塔 #include<bits/stdc++.h> using namespace std; int main() { int n,i; long long s[40]; s[1]=2; for(i=2;i<=35;i++) s[i]=3*s[i-1]+2; while(cin>>n)
CTF-RE-学习记录-汇编-2
摘要:汇编工具DTDebug 下载后设置好odd与插件路径,同时在属性中设置为管理员身份运行(无Administrator权限进入的时候一直在提示) 寄存器 存储数据: CPU>内存>硬盘 32位CPU: 8 16 32 64位CPU: 8 16 32 64 EIP:存储CPU下一次执行的指令集,不能作他
汇编-学习笔记
摘要:常用汇编指令 MOV指令 指令格式 指令解释 MOV r/m8,r8 r通用寄存器 MOV r/m16,r16 m代表内存 MOV r/m32,r32 imm代表立即数 MOV r8,r/m8 r8代表8位通用寄存器 MOV r16,r/m16 m8代表8位内存 MOV r32,r/m32 imm8
CTF-RE-学习记录-汇编
摘要:八进制运算 加法表 1+1=2 1+2=3 2+2=4 1+3=4 2+3=5 3+3=6 1+4=5 2+4=6 3+4=7 4+4=10 1+5=6 2+5=7 3+5=8 4+5=11 5+5=12 1+6=7 2+6=10 3+6=11 4+6=12 5+6=13 6+6=14 1+7=10
ACM-NEFU15届校赛-大二组
摘要:A.小林找工作 #include<bits/stdc++.h> using namespace std; const int MAXN=1e5+10; int p[MAXN]; int main() { int n,m; cin>>n>>m; for(int i=1;i<=n;i++) { scan
ACM-NEFU15届校赛-大一组
摘要:A. 三角形面积 #include <bits/stdc++.h> using namespace std; int main() { double a,b,c; double ans,p,tmp; cin>>a>>b>>c; p=(a+b+c)*0.5; tmp=p*(p-a)*(p-b)*(p-
ACM-刷题记录-14届NEFU校赛
摘要:P2031凯撒密码 #include<bits/stdc++.h> using namespace std; int main(){ string s; int d; while(cin>>s) { cin>>d; int len=s.length(); for(int i=0;i<len;i++)
ACM-学习记录-尺取法
摘要:题目 给定一个数组和一个数s,在这个数组中找一个区间,使得这个区间之和等于s。 例如:给定的数组int x[14] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14};和一个s = 15。那么,可以找到的区间就应该有0到4, 3到5, 6到7.(注意这
ACM-位运算符-判断奇偶
摘要:同样一个问题,位运算可以提高程序的运行效率。 下面讲一下关于奇偶性的判断。 常规方法 public static boolean isOdd(int i){ return i % 2 != 0; } 位运算方法 public static boolean isOdd(int i){ retu
CTF-Web-PHP反序列化
摘要:概念解释 PHP 反序列化漏洞又叫做 PHP 对象注入漏洞,我觉得这个表达很不直白,也不能说明根本的问题,不如我们叫他 PHP 对象的属性篡改漏洞好了(别说这是我说的~~) 反序列化漏洞的成因在于代码中的 unserialize() 接收的参数可控,从上面的例子看,这个函数的参数是一个序列化的对象,
位运算-1
摘要:问题 DPL_3_A: Largest Square #include<iostream> #include<algorithm> #include<cstdio> using namespace std; #define MAX 1400 int dp[MAX][MAX], G[MAX][MAX]
ACM-学习记录-DP-1
摘要:DPL_1_A: Coin Changing Problem 每次均有两种选择,即选择当前的,即为在当前状态+1,否则维持原来的T[j+d[i]] #include<iostream> #include<cstdlib> #include<cstring> using namespace std;
ACM-学习记录-数据结构-1
摘要:AOJ-ALDS1_1_D Maximum Profit 本题主要考虑要将复杂度降到O(n),否则过不了最后五组数据 #include<iostream> #include<bits/stdc++.h> using namespace std; int main(){ int n,maxv=-1e1
ACM-CodeForces-#685(Div.2)
摘要:好久没见过CF有这么水的contest了,蒟蒻赶紧找找自信 A. Subtract or Divide #include<iostream> using namespace std; int main(){ int T,n; cin>>T; while(T--) { cin>>n; if(n<=3)
ACM-学习记录-数论
摘要:GCD,LCM 定理 a、b两个数的最大公约数乘以它们最小公倍数等于a和b的乘积 axb=GCD(a,b)xLCM(a,b) 据此定理,求3与8的最小公倍数可以为:LCM(3,8)=3x8divGCD(3,8)=24 欧几里得算法 构造关系:GCD(a,b)=GCD(b, a mod b) int
ACM-学习记录-素数筛
摘要:前言 近期发现我NEFU低年级组校赛题目只有模拟+数论,恰恰都是我最不会做的,数论方面反反复复用到的就是素数筛,特在此记录一下,闲来无事自己翻阅当作复习复习,以免被到时候一道题都做不出来菜到巨佬们。 代码 查找2-N的所有素数,如下 //线性筛 void init() { phi[1] = 1; f
蓝桥杯十一届JavaA组-C++解题
摘要:本人随便乱写,目前正确性未知 C.本质上升序列 #include<bits/stdc++.h> using namespace std; bool access[4][4]; int dfs(int idx, int x, int y) { if(x<0 || y<0 || x>=4 || y>=4