CDOJ 1270 Playfair】的更多相关文章

题目链接 Playfair is a kind of substitution cipher.And the encryption role is simple.In general,there are three steps in Playfair algorithm. Step 1: Creat a 5*5 secret key table. Step 2:Tidy plaintext : only leave letters and omit others And if there are…
模拟题,代码写得比较乱... #include<cstdio> #include<cstring> #include<cmath> #include<queue> #include<vector> #include<algorithm> using namespace std; ]; ]; ]; ][]; ]; vector<int> ans; int tot; void f() { tot = ; ; s[i]; i++…
转发注明出处: http://www.cnblogs.com/0zcl/p/6105825.html 一.基本概念 古典密码是基于字符替换的密码.加密技术有:Caesar(恺撒)密码.Vigenere(维吉尼尔)密码.Playfair密码.Hill密码-- 明文:未经过加密的信息:密文:加密后的信息 加密解密的过程:如下图 二.Caesar密码 这里我先简单讲下恺撒密码,咸觉挺简单的,后面再主要讲Playfair算法原理与编程. 基本原理: 在开拓罗马帝国的时候,恺撒担心信使会阅读他送给士兵的命…
http://poj.org/problem?id=1270 题意:给一个字符串,然后再给你一些规则,要你把所有的情况都按照字典序进行输出. 思路:很明显这肯定要用到拓扑排序,当然看到discuss里面有些人有bfs也可以做,有时候觉得搜索只要剪枝剪的好,啥都可以用搜索. 因为我也不是很会拓扑排序,所以在找这类的题来练习,增加对其的理解.我就发现了一个问题,为什么拓扑排序要构图? 其实也很简单,因为拓扑排序是对一个有向的无环图进行排序,有向指的是某个点排序后一定是出现在他的前一个点的后面.这个是…
地址:http://acm.uestc.edu.cn/#/problem/show/1489 题目: 老司机采花 Time Limit: 3000/1000MS (Java/Others)     Memory Limit: 65535/65535KB (Java/Others) Submit Status 老司机是一个武功高强,飞檐走壁的采花大盗,特别喜欢采花!一天,某组织想求老司机盗取一件神秘宝物,所以为了讨好老司机而特意安排了一场采花会.该采花会只能摆n朵花(花的颜色有10种可供选择,颜色…
题目1 : Playfair密码表 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi和小Ho经常用Playfair密码表加密自己的代码. 密码表是按以下步骤生成的. 1. 随机选择一个只包含大写字母的单词S作为密钥. 2. 将S中的所有字母J替换为字母I. 3. 将S中的字母依次填写进一个5x5的矩阵,按照从上到下.从左到右的顺序填充格子.填充过程中略过已经在密码表中的字母. 4. 将'A'-'I', 'K'-'Z'(除去J之外的所有大写字母)中没有出现在密码…
#########################Playfair密码######################### #约定1:若明文字母数量为奇数,在明文末尾添加一个'Z' #约定2:'I'作为'J'来处理 #字母表 letter_list='ABCDEFGHJKLMNOPQRSTUVWXYZ' #密码表 T_letter=['','','','',''] #根据密钥建立密码表 def Create_Matrix(key): key=Remove_Duplicates(key) #移除密钥…
http://www.lydsy.com/JudgeOnline/problem.php?id=1270 这完全是一眼题啊,但是n^2的时间挺感人.(n^2一下的级别请大神们赐教,我还没学多少dp优化..) 一眼是n^3的,但是马上可以想到n^2的,用一个数组维护每层最大就行了. 在这里,dp的数组开n^2和存图的数组开n^2用int的话一定爆,存图的用short可以水过.但是看方程我们可以很自然的想到用滚动数组,那么dp的数组就变成一维的啦-ac无压力. #include <cstdio>…
思路:一定有sum[1]=num[1]+num[2],sum[2]=num[1]+num[3]; 但是sum[3]不知道是由num[1]+num[4]还是num[2]+num[3],这就需要枚举一下了.然后算出num[1],num[2],num[3]的值. 并从sum中剔除他们,这是最小的一个一定是num[1]+num[4],再把num[4]+num[2-(4-1)]的和剔除,这时最小的一定是num[1]+num[5]…… 以此类推就可以了…… 链接:http://acm.hdu.edu.cn/…
简单的dp.. dp(i,j) = max(dp(x,y))+cnt[i][j], (x,y)->(i,j)是合法路径. 设f(i)= max(dp(x,y))(1≤x≤N, 1≤y≤i), g(i,j) = max(dp(i, k))(1≤k≤j) 那么dp(i,j) =  max(f(j+delta), g(i,j+1))+cnt[i][j]. 递推即可. 时间复杂度O(NH) ---------------------------------------------------------…
1270: [BeijingWc2008]雷涛的小猫 Time Limit: 50 Sec  Memory Limit: 162 MBSubmit: 905  Solved: 430[Submit][Status] Description   Input Output Sample Input Sample Output 8 HINT Source  题解:额..这个嘛...首先声明——此程序在BZOJ上交每次都莫名其妙的RE,但是我要到数据后在window下测评怎么测都没出问题,额,求各位也帮…
1270 数组的最大代价题目来源: HackerRank基准时间限制:1 秒 空间限制:131072 KB 分值: 20 难度:3级算法题 数组A包含N个元素A1, A2......AN.数组B包含N个元素B1, B2......BN.并且数组A中的每一个元素Ai,都满足1 <= Ai <= Bi.数组A的代价定义如下:     (公式表示所有两个相邻元素的差的绝对值之和) 给出数组B,计算可能的最大代价S. Input 第1行:1个数N,表示数组的长度(1 <= N <= 500…
题目真的好长但是意思很简单 89.加密 (15分)C时间限制:3 毫秒 | C内存限制:3000 Kb题目内容:一种Playfair密码变种加密方法如下:首先选择一个密钥单词(称为pair)(字母不重复,且都为小写字母),然后与字母表中其他字母一起填入至一个5x5的方阵中,填入方法如下:1.首先按行填入密钥串.2.紧接其后,按字母序按行填入不在密钥串中的字母.3.由于方阵中只有25个位置,最后剩下的那个字母则不需变换.如果密钥为youandme,则该方阵如下: y o u a nd m e b…
又是一道实验吧的题,哈哈,我比较弱. 因为题目写了play我首先想到的是playfair,好,下面先看下百科 好了,已知了密钥: 所以有: s n f m th b g o ui c j p vy d k q wa e l r x 然后KQSAMFPAOPMFPA就变成了 dk ay fn ir mo fn ir 所以flag是dkayfnirmofnir…
前面讲的不管是单码加密还是多码加密都属于单图加密,什么是单图加密和多图加密呢,简单来说单图加密就是一个字母加密一个字母,而多图加密就是一个字符组加密一个字符组.比如双图加密就是两个字母加密两个字母,这种加密的好处在于更加难被破解,单图对于一个字母加密最多26种(26个字母),而双图加密就有26*26种.Playfair就是一种经典的双图加密法. Playfair先将密钥去除重复的字母和 j ,接着依次填入一个5*5的矩阵中,如矩阵还有空,则按字母表的顺序(除去 j )填满矩阵,比如密钥“tele…
Description ) in the first line, which has the same meaning as above. And the number is in the next line. It has at most 1000 digits, and will not start with 0. There are at most 10 test cases that satisfy the number of digits is larger than 100. Out…
Following Orders Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 4902   Accepted: 1982 Description Order is an important concept in mathematics and in computer science. For example, Zorn's Lemma states: ``a partially ordered set in which…
点击打开链接 1270: Wooden Sticks [贪心] 时间限制: 1 Sec 内存限制: 128 MB 提交: 31 解决: 11 统计 题目描述 Lialosiu要制作木棍,给n根作为原料的木棍的长度和重量.根据要求求出制作木棍的最短时间. 首先我们知道制作第一个木棍需要1分钟,若是接着要制作的木棍的重量和长度都不少于当前的木棍,那么就不需要建立的时间,若是没有,则再需要建立时间,也就是1分钟. 举个例子,如果你有五个原料木棍,他们的长度和重量分别是(4,9), (5,2), (2,…
题目链接: https://www.lydsy.com/JudgeOnline/problem.php?id=1270 题目大意: 雷涛的小猫雷涛同学非常的有爱心,在他的宿舍里,养着一只因为受伤被救助的小猫(当然,这样的行为是违反学生宿舍管理条例的).  在他的照顾下,小猫很快恢复了健康,并且愈发的活泼可爱了.可是有一天,雷涛下课回到寝室,却发现小猫不见了!经过一番寻找,才发现她正趴在阳台上对窗外的柿子树发呆…在北京大学的校园里,有许多柿子树,在雷涛所在的宿舍楼前,就有N棵.并且这N棵柿子树每棵…
1270: [BeijingWc2008]雷涛的小猫 Time Limit: 50 Sec  Memory Limit: 162 MB[Submit][Status][Discuss] Description   Input Output Sample Input Sample Output 8 HINT 思路:保存i+z的max值:上一行的dp值: #include<bits/stdc++.h> using namespace std; #define ll __int64 #define…
时至期末,补习信息安全概论作业.恰巧遇古典密码学算法中的playfair算法和hill算法,用javascript语言实现起来是在有趣,边查百度边编码,顺便好好补习一下javascript基础. playfair Playfair密码(英文:Playfair cipher 或 Playfair square)是一种替换密码.依据一个5*5的正方形组成的密码表来编写,表中排列有25个字母.对于英语中的26个字母,去掉最常用的Z,构成密码表. 实现思路: 1,编制密码表 密钥是一个单词或词组,密码表…
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1270 简单的线性dp,最近狂刷水题真的是...药丸 差值最大得话要么是峰顶要么是最小的1,不可能处在中间状态,那样显然没有峰值的贡献大,想通这一点之后方程就好写了, dp[i][0]表示第i个数取最小值的最大代价,dp[i][1]相反. 有 dp[i][0]=max(dp[i-1][0],dp[i-1][1]+a[i-1]-1); dp[i][1]=max(dp[i-1…
题目链接:http://poj.org/problem?id=1270 思路:就是一简单的dfs+拓扑排序,然后就是按字典序输出所有的情况. http://paste.ubuntu.com/5987294/…
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1270&judgeId=194704 一开始贪心,以为就两种情况,大.小.大.小.....这样下去 小.大.小.大.....这样下去, 结果翻车.比如1.2.1.1.2.1这个样例 就不行了. 那么以dp[i][0]表示前i个数,第i个数选了小的数字,能产生的最大差值, dp[i][1]同理,转移的时候,上一唯也是两种情况,所以一共4中情况. #include <cs…
CDOJ 1324 卿学姐与公主(分块) 传送门: UESTC Online Judgehttp://acm.uestc.edu.cn/#/problem/show/1324 某日,百无聊赖的卿学姐打开了某11区的某魔幻游戏 在这个魔幻的游戏里,生活着一个美丽的公主,但现在公主被关押在了魔王的城堡中. 英勇的卿学姐拔出利刃冲向了拯救公主的道路. 走过了荒野,翻越了高山,跨过了大洋,卿学姐来到了魔王的第一道城关. 在这个城关面前的是魔王的精锐部队,这些士兵成一字排开. 卿学姐的武器每次只能攻击一个…
CDOJ 1330 柱爷与远古法阵(高斯消元) 柱爷与远古法阵 Time Limit: 125/125MS (Java/Others)     Memory Limit: 240000/240000KB (Java/Others) Submit Status 众所周知,柱爷的数学非常好,尤其擅长概率论! 某日柱爷在喵哈哈村散步,无意间踏入了远古法阵! 法阵很奇怪,是一个长度为NN的走廊,初始时柱爷在最左边,现在柱爷要到最右边去! 柱爷的行动方式如下: 每个回合柱爷会投一次骰子,根据骰子上的点数每…
http://poj.org/problem?id=1270 题目大意: 给你一串序列,然后再给你他们部分的大小,要求你输出他们从小到大的所有排列. 如a b f g 然后 a<b ,b< f 那么符合要求的有abfg   abgf    agbf  gabf(即不能出现(a在b后面,b在f后面) 思路: 把这些字符看成点,如果存在a<b的关系,则在有向图中建立一条边 v(a,b),然后进行拓扑排序. 话说这题的输入很坑爹,那个大小关系的我还以为是4个一组..结果被坑死了.看了discu…
 Playfair密码(Playfair cipher 或 Playfair square)一种替换密码,1854年由查尔斯·惠斯通(Charles Wheatstone)的英国人发明. 例题: 某种加密方式,玩一玩吧 密钥:shiyanb 密文:KQSAMFPAOPMFPA hint:一律采用横向 Hint: key小写 1.编制密码表 编一个5*5的密码表,共有5行5列字母.第一列(或第一行)是密钥,其余按照字母顺序,如果密钥过长可占用第二列或行.密钥是一个单词或词组,若有重复字母,可将后面…
这个题是Playfair解密. Playfair解密算法首先将密钥填写在一个5*5的矩阵中(去Q留Z),矩阵中其它未用到的字母按顺序填在矩阵剩余位置中,根据替换矩阵由密文得到明文. 对密文解密规则如下: 将密文两个两个分开,每两个设为c1.c2. 1 若c1 c2在同一行,对应明文p1 p2分别是紧靠c1 c2 左端的字母.其中最后一列被看做是第一列的左方. 2 若c1 c2在同一列,对应明文p1 p2分别是紧靠c1 c2 上方的字母.其中最后一行被看做是第一行的上方. 3 若c1 c2不在同一…
一种 Playfair 密码变种加密方法如下:首先选择一个密钥单词(称为 pair)(字母不重复,且都为小写字母), 然后与字母表中其他字母一起填入至一个 5x5 的方阵中,填入方法如下: 1.首先按行填入密钥串. 2.紧接其后,按字母序按行填入不在密钥串中的字母. 3.由于方阵中只有 25 个位置,最后剩下的那个字母则不需变换. 如果密钥为 youandme,则该方阵如下: y o u a n d m e b c f g h i j k l p q r s t v w x 在加密一对字母时,如…