题意:RT 题解: \(i\ mod \ k=0\),即所有事\(k\)的倍数的位置都要进行异或,根据异或的性质,我们知道如果相同的异或的数个数是偶数的话,得出的结果是\(0\),所以每次询问,我们判断需要进行异或的个数,如果不是奇数的话就不用求贡献,这儿还有个结论,如果我们原来有偶数的个数,然后进行一次异或操作后变成了奇数,那么这次操作得到的贡献就是\(v\),因为假设原来偶数位置的数是\(x\),那么我们对这些位置操作后得到\(x\)^\(v\),因为变成了奇数,所以我们在求总贡献的时候,多…
题目链接 \(Description\) 给定长为\(n\)的序列\(A\).求有多少\(S\),满足\(0\leq S<2^{60}\),且对于所有\(i\in[1,n-1]\),\(a[i]^{\wedge}S\leq a[i+1]^{\wedge}S\). \(n\leq20\). \(Solution\) 考虑对于\(a,b\),有哪些\(S\)满足\(a^{\wedge}S\leq b^{\wedge}S\). 找出\(a^{\wedge}b\)的最高位\(1\)(也就是\(a,b\)…
Problem Description Memphis loves xor very musch.Now he gets an array A.The length of A is n.Now he wants to know the sum of all (lowbit(Ai xor Aj) (i,j∈[1,n]) We define that lowbit(x)=2^k,k is the smallest integer satisfied ((x and 2^k)>0)Specially,…
新生初赛题目.解题思路.参考代码一览 1001. 无聊的日常 Problem Description 两位小朋友小A和小B无聊时玩了个游戏,在限定时间内说出一排数字,那边说出的数大就赢,你的工作是帮他们统计他们获胜的次数. Input 第一行是一个T,代表游戏的次数T(T≤1000).每组两个整数p,y(1≤p≤\(10^{100}\),1≤y≤\(10^{100}\)),分别表示两位小朋友说出的数字. Output 输出两个数,A和B获胜的次数.后面没有换行,仅此一题 Sample Input…
        题目大意:一个$N$$\times$$N$的阵列,每个格子有$X_{ij}$个调和之音,若每次只能选择走右边或下边,从左上角出发走到右下角,问最多能收集到多少个调和之音?         这题是一道很很很简单的DP题,但可能之前没接触过的同学需要一点脑能量去思考..如果用最蠢的办法,循环枚举每种选择,求出最大值的话,由于你总共需要往右走$N-1$次,往下走$N-1$次,路径总长度为$2N-2$,根据组合数学,总共有$C_{2N-2}^{N-1}$种走法,想想$C_{1998}^{…
第九届蓝桥杯国赛+第二天的第11届acm省赛的总结 25号坐的去北京的火车,10个小时的火车,然后挤了快两个小时的地铁,最终达到了中国矿业大学旁边的订的房间.12个小时很难受,晕车症状有点严重,吃了快4颗晕车药,到宾馆还是很晕,就睡了.晕车这块,我们都自信过分了,很影响状态. 我们学校晋级省一的名额不多,大多数人都没有去,只有我和Z去了,Z很想去北京看看,我也有点想去,想想还是比较激动,还有那几次比赛太好了——膨胀了不少:主要去的时候想的是,按照往年的省赛来看,拿金的希望几乎没有,无论怎样都拿银…
前言: 这是我的退役贴,之前发到了空间里,突然想到也要在博客里发一篇,虽然我很弱,但是要离开了还是有些感触,写出来和大家分享一下,希望不要见笑.回来看看,这里也好久没有更新了,这一年确实有些懈怠,解题报告都不再写了,现在想想还有些后悔,写总结确实是个好习惯. 正文: 省赛结束了,结果不算好也不算坏,我之前的给自己的预期目标是上年我们没拿到的铜牌,原因是我认为自己仅仅只有拿到铜牌的实力,所以一直以来的这段时间我没有全力以赴的投入到训练之中,和sr.zs他们的拼命准备形成了鲜明对比.训练的时候我就在…
本文出自:http://blog.csdn.net/svitter 原题:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=2624 题意:为什么每次都是我做这么坑爹的题目TAT 一开始的名字我在想名字有没有空格,就像是之前 Sdut2411 Pixel density 山东省第三届ACM省赛(输入输出字符串处理) 这道题目,以至于第一篇WA我根本想不出到底是name的问题还是其他方面的问题.后来证明果然…
今年ACM省赛已经过去一个星期左右了,2年的ACM训练是该做个总结了,因为前几日去參加蓝桥杯总决赛,所以没来的及写总结,如今在这小小总结一下吧-- 依晰记得去年省赛时候的样子,如今感觉那时像是个无知的孩童,在学长的带领下一步一步的成长-- 总结下面几条: 1.团队合作的重要性!!! 2.坚持!!! 3.相信自己!!! 4.懂得取舍!!! 5.不要忘了提升自己的实力!!! ---- 获奖情况:今年实现了去年的梦想,最终拿个金奖回来,排名第5,当时就想要是再加把劲就会更靠前了,只是明年就不能參加比赛…
什么,这周天就要去参加acm焦作赛,简直不敢相信.从大一暑假七月份中旬到今天十一月23日,加入acm将近四个多月的时间,如今到了检验自己的时候了.aaaaaaaaaa.乌拉,必胜.打印个模板,在跑个步,洗个澡,溜了,溜了.…
这几天筹备青岛理工ACM交流赛的过程中遇到了不少问题也涨了不少经验.对非常多事也有了和曾经不一样的看法, ​一直在想事后把这几天的流水帐记一遍,一直没空直到今天考完C++才坐下来開始动笔.将这几天的忙的事情简单的罗列一下: 个人主页:http://www.ttop5.net/ 同步博客:http://blog.csdn.net/u013634961/article/details/41001355 加题測试数据:     青岛理工用咱的oj高比赛的事事实上挺早前就是说了.之前以为仅仅是一场常规的…
A. Vicious Keyboard time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output Tonio has a keyboard with only two letters, "V" and "K". One day, he has typed out a string s with only t…
今年算是开始正式打比赛了,真正打起比赛来感觉的确是和平时训练不太一样,最重要的还是在心态和信心上. ACM省赛是拿下个银牌,昭哥上来就把K题金牌题给当签到题给签掉了,可惜我们没有利用好这一题.感觉第一次还是紧张了,打得没有平时自信,也不敢交.D题水题居然让源姐敲了个桥的模板,然后仔细想想,突然发现就是保留棵树就好了.H题数据水了暴力都能过,没敢试一发,敲了个线段树才醒悟过来不能离散化.有点内疚,封榜后应该看榜看决定接下来的策略的,强行双开两题结果都没调出来,有点对不起我的队友们.终究还是经验不足…
[ACTF2020 新生赛]BackupFile 尝试找到源代码,加上题目是备份文件,猜测备份文件里面有网站的源代码,御剑扫描一下,就扫到index.php 访问index.php.bak 下载源代码: <?php include_once "flag.php"; if(isset($_GET['key'])) { $key = $_GET['key']; if(!is_numeric($key)) { exit("Just num!"); } $key =…
[ACTF新生赛2020]Oruga 附件 步骤: 例行检查,64位程序,无壳 64位ida载入,检索字符串,根据提示来到关键函数 14行~18行就是让字符串的前5位是 actf{ ,sub_78A()是关键函数,分析可知应该是迷宫 byte_201020(推荐在16进制界面查看),查看迷宫图形 这个移动方法有点意思,从左上角去往!,点代表路,其他符号是障碍物,点的时候会一直走,遇到障碍物才会停下,手动走一下 flag{MEWEMEWJMEWJM}…
[ACTF新生赛2020]usualCrypt 附件 步骤: 例行检查,无壳,32位程序 32位ida载入,直接看main函数 逻辑很简单,一开始让我们输入一个字符串,然后该字符串经过sub_401080()函数加密,加密后得到byte_40E0E4里面的数据zMXHz3TIgnxLxJhFAdtZn2fFk3lYCrtPC2l9 看一下sub_401080函数 头部有一个sub_401000函数,中间看运算特征码可以判断是base64加密,尾部一个sub_401030函数 先从sub_4010…
[ACTF新生赛2020]rome 附件 步骤 无壳,32位程序 32位ida载入,根据提示字符串"You are correct!",找到关键函数func v15 = 'Q'; v16 = 's'; v17 = 'w'; v18 = '3'; v19 = 's'; v20 = 'j'; v21 = '_'; v22 = 'l'; v23 = 'z'; v24 = '4'; v25 = '_'; v26 = 'U'; v27 = 'j'; v28 = 'w'; v29 = '@'; v…
[ACTF新生赛2020]easyre 附件 步骤 查壳,32位程序,upx壳儿 脱完壳儿,扔进ida 分析 一开始给我们定义了一个数组, v4=[42,70,39,34,78,44,34,40,73, 63, 43, 64] 之后让我们输入一个字符串,根据43行的if判断可以知道我们输入的字符串的开头是ACT{},就是flag 根据48行的if判断可知.ACT{}括号里的值长度为12,v4=byte_402000[输入的数组的每一位值-1] 在ida里可以看到byte_402000数组的值 根…
ACM位运算技巧 位运算应用口位运算应用口诀位运算应用口诀 清零取反要用与,某位置一可用或 若要取反和交换,轻轻松松用异或 移位运算 要点 1 它们都是双目运算符,两个运算分量都是整形,结果也是整形.     2 " >"右移:右边的位被挤掉.对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统.     4 ">>>"运算符,右边的位被挤掉,对于左边移出的空位一概补上0. 位运算符的应用 (源操作数s…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2095 解题思路:因为只有我们要求的那个数出现的次数为奇数,所以可以用位运算来做,两次异或同一个数最后结果不变,那么就可以知道异或运算相当于过滤掉了出现次数为偶数的数,最后只留下了唯一的那一个出现次数为奇数的数. 反思:位运算好陌生,好好学. #include<stdio.h> int main() { int n; long int a; while(scanf("%d",&a…
听说位运算挺好玩的,那这节总结一下ACM中可能用到的位运算技巧. XOR运算极为重要!!(过[LC136](只出现一次的数字 - 力扣(LeetCode)):数组中每个数字都出现两次,只有一个出现一次,找到出现一次的数字) 1. 如果我们对 0 和二进制位做 XOR 运算,得到的仍然是这个二进制位a⊕0=a2. 如果我们对相同的二进制位做 XOR 运算,返回的结果是 0a⊕a=03. XOR 满足交换律和结合律a⊕b⊕a=(a⊕a)⊕b=0⊕b=b <<一次相当于*2,>>一次相当…
C#运算符之与,或,异或及移位运算 1.剖析异或运算(^) 二元 ^ 运算符是为整型和 bool 类型预定义的.对于整型,^ 将计算操作数的按位“异或”.对于 bool 操作数,^ 将计算操作数的逻辑“异或”:也就是说,当且仅当只有一个操作数为 true 时,结果才为 true. 数值运算举例 按位异或的3个特点:(1) 0^0=0,0^1=1  0异或任何数=任何数(2) 1^0=1,1^1=0  1异或任何数-任何数取反(3) 1^1=0,0^0=0  任何数异或自己=把自己置0 例如:10…
acm位运算应用 搜索 搜索    此处不讲题目,只讲位运算是怎样在这些题中实现和应用的.由于搜索题往往是基于对状态的操作,位运算往往特别有效,优化之后的效果可以有目共睹.    例1.POJ 1324    根据题目,确定了对状态的表示之后(记录当前状态的蛇头x, y值与剩下部分的运动状态),一般容易想到剩下部分的运动状态用一个数组(比如x[n-1], n为蛇节点数,n[0]为第二个节点的运动趋势)去表示,且一个数组元素的值为0,1,2,3,即四个方向,蛇每次移动,这个方向数组需要更新一次,更…
原文:位运算反(~)与(&)异或(^)或(|)右移(>>)左移(<<) 先知道这两个二进制数据的特点:   1=0000 0000 0000 0000 0000 0000 0000 0001 -1=1000 0000 0000 0000 0000 0000 0000 0001 1.最高位(首位)表示正负(0为正,1为负) 2.最低位(末位)表示奇偶(0为偶,1为奇) 一.按位取反(~) 十进制1按位取反后=? 分析: 1. 十进制1转为二进制为:1= 0000 0000 0…
<?php /** php中有4个位运算,分别是&与 |或 ^异或 ~取反 & 两位全为1,结果为1 | 有一位为1,结果为1 ^ 一个为0,一个为1,结果为1 ~ 取反0->1,1->0 1.二进制的最高位是符号位,0表示正数,1表示负数. 2.正数的原码,反码,补码都一样. 3.负数的反码=它的原码符号位不变,其它位取反(0->1,1->0). 4.负数的补码=它的反码+1. 5.0的反码,补码都是0. 6.php没有无符号数,换言之,php中的数都是有符…
难度 初级 学习时间 10分钟 适合人群 零基础 开发语言 Java 开发环境 JDK v11 IntelliJ IDEA v2018.3 文章原文链接 "全栈2019"Java第二十章:按位与.按位或.异或.反码.位运算 下一章 "全栈2019"Java第二十一章:流程控制语句中的决策语句if 学习小组 加入同步学习小组,共同交流与进步. 方式一:关注头条号Gorhaf,私信"Java学习小组". 方式二:关注公众号Gorhaf,回复"…
为什么位运算可以实现加法(1. 不考虑进位的情况下位运算符中的异或^可以表示+号)(2. 位运算符中的与运算符&和左移运算符<<可以模拟加法中的进位)(3.位运算不仅可以做加法,还可以做其它的乘法减法等:计算机本质是二进制运算) 一.总结 1. 不考虑进位的情况下位运算符中的异或^可以表示+号 2. 位运算符中的与运算符&和左移运算符<<可以模拟加法中的进位 3.位运算不仅可以做加法,还可以做其它的乘法减法等:计算机本质是二进制运算,许多高人和天书都展示了如何用位运…
在给定的N个整数A1,A2……ANA1,A2……AN中选出两个进行xor(异或)运算,得到的结果最大是多少? 输入格式 第一行输入一个整数N. 第二行输入N个整数A1A1-ANAN. 输出格式 输出一个整数表示答案. 数据范围 1≤N≤1051≤N≤105,0≤Ai<2310≤Ai<231 输入样例: 3 1 2 3 输出样例: 3 算法:01字典树 + 位运算 + 异或性质 题解:首先我们并看不出来这个题目需要用到字典树,但是,我们可以发现数据的范围只有31位,那么我们就可以同过这个点来建立…
题目链接:https://ac.nowcoder.com/acm/contest/2720/D 题意:对于 ax = by = c ,给出 x, y 求符合条件的 a, b, c 且 c 为最小的解,不满足条件输出 -1. idea:容易看出 c 为x, y 的最小公倍数.设最小公倍数为 s ,所以 a = s / x,b = s / y.因为 s = x * y / __gcd(x,y) ,所以 a = y / __gcd(),b = x / __gcd(),所以 x 和 y 一定互质.若__…
新生初赛题目.解题思路.参考代码一览 A. 拒绝虐狗 Problem Description CZJ 去排队打饭的时候看到前面有几对情侣秀恩爱,作为单身狗的 CZJ 表示很难受. 现在给出一个字符串代表 CZJ 前面的队列.你可以帮他一把把那些情侣分开吗? Input 第一行是一个\(T\),代表数据的组数\(T\)(\(T\leq 100\)). 每组一个只包含大写字母的字符串\(p\)(\(1\leq len_{p}\leq 1000\)),表示 CZJ 前面的队列,保证不会有连续三个及以上…