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
随机推荐
- 2.8 The Object Model -- Enumerables
在Ember.js中,枚举是包含许多子对象的任何对象,并允许你使用Ember.Enumerable API和那些子对象一起工作.在大部分应用程序中最常见的可枚举是本地JS数组,Ember.js扩展到符 ...
- NULL头文件
#include<stddef.h> NULL不是C语言基本类型,其定义在stddef.h文件中,作为最基本的语言依赖宏存在.但是随着C/C++的发展,很多文件只要涉及了系统或者标准操作都 ...
- NodeJS学习笔记二
类声明和类表达式 ES6 中的类实际上就是个函数,而且正如函数的定义方式有函数声明和函数表达式两种一样,类的定义方式也有两种,分别是:类声明.类表达式. 类声明 类声明是定义类的一种方式,就像下面这样 ...
- OAuth 白话简明教程 4.刷新 Access Token
转自:http://www.cftea.com/c/2016/11/6705.asp OAuth 白话简明教程 1.简述 OAuth 白话简明教程 2.授权码模式(Authorization Code ...
- 系统管理命令之id
当我们想知道某个用户的UID和GID时id命令是非常有用的.一些程序可能需要UID/GID来运行.id使我们更加容易地找出用户的UID以GID而不必在/etc/group文件中搜寻. 1.获取指定用户 ...
- hdu 5185 动态规划 分析降低复杂度
这题说的是 x[1]+x[2]+x[3]+…+x[n]=n, 这里 0 <= x[i] <= n && 1 <= i <= n x[i] <= x[i+1 ...
- Databases Questions & Answers
Databases Questions & Answers 1. What are two methods of retrieving SQL? 2. What curso ...
- bzoj1008 / P3197 [HNOI2008]越狱
P3197 [HNOI2008]越狱 考虑所有状况:显然是$m^{n}$ 考虑所有不合法状况: 显然相邻两个数不相等 那么后面$n-1$个数就有$(m-1)^{n-1}$种取法 第一个数前面没有相邻的 ...
- Sublime Text3编辑器简介
Sublime Text3编辑器简介 下载地址 绿色中文版v3.3038下载地址:http://www.cncrk.com/downinfo/60832.html 官方网址(英文安装版)下载地址:ht ...
- 高级bash脚本编程(三)
高级bash脚本编程 知识点 compound 和 comparison -a 逻辑与 exp1 -a exp2 如果表达式 exp1 和 exp2 都为真的话,那么结果为真. -o 逻辑或 exp1 ...