BZOJ4917: [Lydsy1706月赛]Hash Killer IV(模拟)
4917: [Lydsy1706月赛]Hash Killer IV
Time Limit: 1 Sec Memory Limit: 256 MB
Submit: 327 Solved: 140
[Submit][Status][Discuss]
Description

Input
Output
Sample Input
614278301
1228622139
1841720774
2457244278
Sample Output
2
3
4
思路:我们观察到1,3,5是个一次函数,可以直接乘除法逆运算求回去,x(1+a)=y------>x=y*rev(1+a),由于mod是偶数,1+a是奇数,求个逆元就ok了。
2和4操作可以先固定前面几位,然后模拟。
#include<bits/stdc++.h>
#define ui unsigned int
using namespace std;
ui get(ui ans,int len){
ui x=;
for(int i=;i>=-len+;i--) x|=ans&(1u<<i);
for(int i=-len;i>=;i--) {
if(ans&(1u<<i)){
if(!(x&(1u<<(i+len)))) x|=(1u<<i);
}
else if((x&(1u<<(i+len)))) x|=(1u<<i);
}
return x;
}
int main()
{
int T,x; scanf("%d",&T);
while(T--){
scanf("%u",&x);
x*=4294901761u;
x=get(x,);
x*=954437177u;
x=get(x,);
x*=3222273025u;
printf("%u\n",x);
}
return ;
}
BZOJ4917: [Lydsy1706月赛]Hash Killer IV(模拟)的更多相关文章
- 【BZOJ4917】Hash Killer IV 乱搞
[BZOJ4917]Hash Killer IV Description 有一天,tangjz造了一个Hash函数: unsigned int Hash(unsigned int v){ un ...
- bzoj 4919 [Lydsy1706月赛]大根堆 set启发式合并+LIS
4919: [Lydsy1706月赛]大根堆 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 599 Solved: 260[Submit][Stat ...
- 3098: Hash Killer II
3098: Hash Killer II Time Limit: 5 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 1219 Solved: ...
- 3097: Hash Killer I
3097: Hash Killer I Time Limit: 5 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 425 Solved: 15 ...
- 从Hash Killer I、II、III论字符串哈希
首先,Hash Killer I.II.III是BZOJ上面三道很经典的字符串哈希破解题.当时关于II,本人还琢磨了好久,但一直不明白为啥别人AC的代码都才0.3kb左右,直到CYG神犇说可以直接随机 ...
- BZOJ 3098: Hash Killer II(新生必做的水题)
3098: Hash Killer II Time Limit: 5 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 1555 Solved: ...
- BZOJ 3097: Hash Killer I【构造题,思维题】
3097: Hash Killer I Time Limit: 5 Sec Memory Limit: 128 MBSec Special JudgeSubmit: 963 Solved: 36 ...
- BZOJ 3097: Hash Killer I
3097: Hash Killer I Time Limit: 5 Sec Memory Limit: 128 MBSec Special Judge[Submit][Status][Discus ...
- 【BZOJ】 Hash Killer I II III
前言 这里只是一个整理... Solution Hash Killer I Hash Killer II
随机推荐
- 了解Flask 信号机制
Flask框架中的信号基于blinker,其主要就是让开发者可是在flask请求过程中定制一些用户行为. pip3 install blinker 1. 内置信号 request_started = ...
- postgresql主从复制
本文章以rpm包方式安装,版本为9.3.4 一.postgresql安装 postgresql93-9.3.4-1PGDG.rhel6.x86_64.rpm postgresql93-libs-9.3 ...
- mutex锁住共用线程函数 造成了死锁 ,为什么?
锁住共用的线程函数,为什么出现了死锁的现象,是真的死锁了吗?为什么勒[清晰早点] [逍遥游]# 一般都是用 EnterCriticalSection 和 LeaveCriticalSection 锁住 ...
- some tools
mac alfred http://www.cnblogs.com/chijianqiang/p/alfred.html
- javascript 快速排序方法
"快速排序"的思想很简单,整个排序过程只需要三步: (1)在数据集之中,选择一个元素作为"基准"(pivot). (2)所有小于"基准"的元 ...
- 【图像处理】计算Haar特征个数
http://blog.csdn.net/xiaowei_cqu/article/details/8216109 Haar特征/矩形特征 Haar特征本身并不复杂,就是用图中黑色矩形所有像素值的和减去 ...
- 20145227鄢曼君《网络对抗》逆向及Bof基础
20145227鄢曼君<网络对抗>逆向及Bof基础 实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任 ...
- 实验五分析system_call中断处理过程
一.实验要求: 1.使用gdb跟踪分析一个系统调用内核函数 2.根据本周所学知识分析系统调用的过程,从system_call开始到iret结束之间的整个过程,并画出简要准确的流程图 二.实验步骤: 1 ...
- Linux内核分析 03
一,构造一个简单的Linux系统MenuOS 1.Linux内核源代码简介 回顾一下前面的三大法宝和两把宝剑. arch/x86目录下的代码需要重点关注 阅读代码的时候把除了x86以外的都删掉会有利于 ...
- vs显示行号
1.工具 2.选项 3.文本编辑器 4.C\C++ 5.常规->显示行号