杂题
好像没有什么算法的
a10.
这个作者很懒,什么都没留下…
展开
-
acwing 1221 四平方和
题目思路就是建立一个哈希表,记录c2+d2c^2+d^2c2+d2的c、d值,然后查表就可以了#include<iostream>#include<map>using namespace std;const int MAX=5e6+5;int n;pair<int,int> a[MAX];int main(){ cin>>n; for(int i=0;i*i<=n;i++) { for(int原创 2022-04-08 21:11:15 · 409 阅读 · 0 评论 -
buuctf 新年快乐 ESP定律脱壳
查壳,发现是upx壳。我们可以直接使用脱壳机,这里使用ESP定律手动脱壳。打开IDA,发现根本分析不了:把程序拖入x32dbg,点击选项->首选项:至少选择这两个断点,否则不知道停在哪个地方。第一行就是pushad。按F7,进入到下一行,然后发现ESP已经变了。右击ESP的数字,点击在转储中跟随,右击第一行,选择断点,“硬件,存取”,双字。然后按F9继续运行。已经到了popad的位置。继续调试或者根据经验可以发现,00401280就是OEP。点击插件->Sc原创 2021-04-02 08:51:13 · 320 阅读 · 0 评论 -
idapython 攻防世界 no strings attached
https://blog.csdn.net/weixin_43281394/article/details/112341592转载 2021-03-31 22:24:22 · 120 阅读 · 0 评论 -
2021 MAR-DASCTF drinksometea
新手第一次见这种题,记录一下压缩包给了一个exe还有一个png.out,那个png.out不知道干嘛用的。查一下exe有无加壳,无,拖入ida进行分析。程序流程不难,就是先从tea.png读入数据,然后经过中间的函数处理,然后把输出输出到tea.png.out。题目要我们做的就是,用那个out文件,还原出png文件进入4010A0函数,发现ida根本分析不了:原来这就是传说中的花指令。看了别的大佬博客才知道,对于00401116,有红色的这行语句按U,然后在Hex-view那里,把那行数据原创 2021-03-31 22:22:32 · 635 阅读 · 1 评论 -
2021 Nepctf worrrrms
这题挺有意思的先是压缩包,一解压就说文件不是压缩文件,不知道干嘛了,重新下载了一个才行。解压后,拖入ida打开,发现是go语言,看不懂。然后百度一下,可以安装插件,IDAGolangHelper,谷歌百度一下就有了,安装好,再去看看。发现Go语言函数名都恢复了,虽然代码一点也不可读,但至少看着稍微顺眼一点点吧……然后找啊找,找了很久,在worrrrms_puzzle_ChkPlz 和worrrrms_puzzle_Gotcha找到了key和word,然后乱试,就把flag搞出来了。由于pysm4原创 2021-03-29 21:48:51 · 208 阅读 · 0 评论 -
攻防世界-逆向新手区-sinple-unpack
题目这些加了upx壳的,首先要先cd进upx.exe那个目录,然后再用upx -d 文件名脱壳原创 2021-03-12 09:02:22 · 107 阅读 · 0 评论 -
攻防世界——新手区——re1
题目这个嘛,拖进IDA然后F5,找到一个类似字符串常量的东西。然后学到了一招,见到什么xmmword和qword的直接按R就可以让后面的xxxxxxxxh变成字符串了,但是好像顺序有点乱,把他们倒序然后乱搞试多几下就可以了...原创 2021-03-11 21:42:19 · 172 阅读 · 0 评论 -
牛客练习赛73 C D
题目C首先,这类题肯定就是算贡献的了,那我们应该怎么算呢?首先,mex的值必定为1~n+1里面的数,毕竟它只有n个数。对于每一个可能的mex值,我们可以这么考虑,设这个值为x,那么[1,x−1][1,x-1][1,x−1]的值必须全部选上,x不能选,大于x的数随便选,然后统计答案就可以了。#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>#include&l原创 2020-12-09 17:11:37 · 129 阅读 · 0 评论 -
codeforces educational 93 C
题目设si为到i点的前缀和(即s[1]加到s[i]),题目要求我们求满足s[i]-s[j]=i-j的个数,那我们可以对于每一个i,求有多少个满足条件的j,答案就出来了。(对于力扣的区间和为k的个数那题,也可以用这种方法)。我们把式子变形为s[i]-i=s[j]-j,就很好做了。要注意一点,我们要在0的位置先+1,否则对于前缀就是答案的case,是无法统计进去的(力扣那题也一样)#include<cstdio>#include<algorithm>#include<cs原创 2020-08-17 11:16:07 · 86 阅读 · 0 评论 -
宁波工程学院2020新生校赛
C一开始还想什么计算几何的方法,后来才发现,直接枚举两条之间的交点就好了……#pragma GCC optimize(2)#include<iostream>#include<algorithm>#include<cstdio>#include<cstring>#include<string>#include<utility>#include<vector>#include<set>//#d原创 2020-08-02 18:45:57 · 185 阅读 · 0 评论 -
广州大学第十四届ACM大学生程序设计竞赛(同步赛)
题目A这题卡缓冲区,也是第一次见卡这东西,就是……getline被卡了,自己输入一下看一下会出现什么就知道了,可以用cin.ignore()解决,学到了。这题我做的比较复杂,更简单的做法就是直接if判断输出#include<cstdio>#include<algorithm>#include<cstring>#include<iostream>#include<sstream>#include<string>#inc原创 2020-07-27 16:27:15 · 249 阅读 · 0 评论 -
cf 650 div3
题目要注意,在此题里,除法的本质是每x(x为除数)个位置放置一个东西首先是判断有没有1,如果没有,我们可以让整个序列+k再除以k+1,+k是因为每k+1个位置放置一个人嘛,所以这样做可以确定第一个人放在第一位。然后就是一段区间内,两边都有1和只有一边有1,只有一边有1直接0个数/k+1就可以了,两边都有1需要减去k再/k+1,这样是因为保证右边也有足够的空间#include<iostream>#include<cstdio>#include<algorithm>原创 2020-07-17 19:05:02 · 123 阅读 · 0 评论 -
codeforces 640 div4 G
我觉得E比他还简单,为什么过的人却没有G多……其实一开始想的+2选数是对的,再想一下,处理一些情况就可以了,要是以后太小的数/特殊的数感觉找不出规律,可以找一些中等大小和正常的数找规律,然后特判就好了。#include<cstdio>#include<algorithm>#include<iostream>#include<cstring>using namespace std;int t,n;int main(){ cin>>原创 2020-07-01 01:20:02 · 120 阅读 · 0 评论