Vasya And Password(CodeForces - 1051A)】的更多相关文章

Vasya came up with a password to register for EatForces — a string ss. The password in EatForces should be a string, consisting of lowercase and uppercase Latin letters and digits. But since EatForces takes care of the security of its users, user pas…
1035 Password (20 分) To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem is that there are always some confusing passwords since it is hard to distinguish 1 (one) from l (L in lowercase), or 0 (zero) fr…
1035 Password (20 分) To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem is that there are always some confusing passwords since it is hard to distinguish 1 (one) from l (L in lowercase), or 0 (zero) fr…
(CodeForces - 5C)Longest Regular Bracket Sequence time limit per test:2 seconds memory limit per test:256 megabytes input:standard input output:standard output This is yet another problem dealing with regular bracket sequences. We should remind you t…
1035 Password(20 分) To prepare for PAT, the judge sometimes has to generate random passwords for the users. The problem is that there are always some confusing passwords since it is hard to distinguish 1 (one) from l (L in lowercase), or 0 (zero) fro…
B - Sorted Adjacent Differences(CodeForces - 1339B) 题目链接 算法 思维+贪心 时间复杂度O(nlogn) 1.这道题的题意主要就是让你对一个数组进行一种特殊的排序,使得数组中相邻的两个数的差的绝对值成非递减趋势: 2.刚开始对这道题总是执拗于两个相等的数在不同位置,如何把它们放到前面这个问题,因为路走歪了,最终无果,没有思路.后来看了一些关于这道题的解题博客,豁然开朗. 3.使得数组中相邻的两个数的差的绝对值成非递减趋势,怎么想呢.单纯想怎么…
题目:http://codeforces.com/contest/1058/problem/D 题意:有一个大小为N*M的矩阵内,构造一个三角形,使面积为(n*m)/k.若存在输出三个顶点(整数). 分析: 首先可以判断,若(2*n*m)%k!=0,一定为NO. 其次,可以想到,三角形可以构造为一个顶点为(0,0)的直角三角形.且满足等式  (2*n*m)%k==0 如果k是偶数,那个k肯定可以和2约分,所以把k除2. 再得到tmp=gcd(n,k),x=n/tmp,就是说能用n约掉一部分k就约…
C. Dasha and Password time limit per test 2 seconds memory limit per test 256 megabytes input standard input output standard output After overcoming the stairs Dasha came to classes. She needed to write a password to begin her classes. The password i…
题目链接:http://codeforces.com/problemset/problem/558/C 题意:给出n个数,让你通过下面两种操作,把它们转换为同一个数.求最少的操作数. 1.ai = ai*2 2.ai = ai/2,向下取整 思路: 可以除以二 或者 乘以二,就相当于位运算的右移和左移.用两个数组,vis 数组, cnt 数组.刚开始都初始化为0: vis[i] 表示 i 这个数可以由几个数转化而来,cnt[i] 表示题目给出的 n 个数全部转化为 i 需要的操作数. 首先遍历数…
Vasya and String time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output High school student Vasya got a string of length n as a birthday present. This string consists of letters 'a' and 'b' only.…
题目链接:https://codeforces.com/problemset/problem/1197/D 题意: 给你一个序列,求一个子序列 a[l]~a[r] 使得该子序列的 sum(l,r)-k*(r-l+1)/m(向上取整)的值是在所有子序列中最大的,并输出最大值 思路: 法一:动态规划 dp[i][j] 表示序列到i截止,这一轮已经进行了j次取数(j = (len+m-1)%m) 那么dp[i][j]维护的就是起点为 s = i-j+1-m*t (t>=0)这个集合的最优,这样所有的…
题意 有n个黑帮(gang),每个黑帮有siz[i]个人,黑帮与黑帮之间有有向边,并形成了一个竞赛完全图(即去除方向后正好为一个无向完全图).在很多年前,有一些人参与了一次大型抢劫,参与抢劫的人都获得了一个真金条. 在这些年间,不同的黑帮之间进行了交易.具体过程是: 在时刻i,假如有一条边是u->v,那么u帮派中的i mod siz[u]号如果有金条(无论真假),并且v帮的i mod siz[v]没有任何金条,那么u中的这个人就会向v中的这个人一个假金条. 经过无数年的交易之后,各个帮派的金条拥…
Description You are given a positive integer nn. Let S(x) be sum of digits in base 10 representation of xx, for example, S(123)=1+2+3=6, S(0)=0. Your task is to find two integers a,ba,b, such that 0≤a,b≤n, a+b=n and S(a)+S(b) is the largest possible…
题意与分析 这题意思是这样的:在正方体的六面镶嵌给定颜色的宝石(相同颜色不区分),然后问最多有几种彼此不等价(即各种旋转过后看起来一致)的方案. 其实可以乱搞,因为范围只有720.求出全排列,然后每个旋转很多次,看看彼此可不可能相同,很多次旋转后都相同说明稳了,然后最后统计即可. 这题相当有意思的是复习了全排列的求法,竟然不能一下子想到- -||| 下面还会说下Java里面String与StringBuilder相关的内容:(待补) 代码 /* * ACM Code => cfr99c.java…
题意与分析 题意很简单,但是注意到小数可能有一千位,作为一周java选手的我选择了java解决. 这里的分析会归纳一些必要的Java API:(待补) 代码 /* * ACM Code => cf99a.java * Written by Sam X * Date: 三月, 19, 2019 * Time: 10:08 */ import java.util.*; import java.math.*; public class cf99a { public static void main(S…
学了kmp之后又学了hash来搞字符串.这东西很巧妙,且听娓娓道来. 这题的题意是:一个字符串如果是回文的,那么k值加1,如果前一半的串也是回文,k值再加1,以此类推,算出其k值.打个比方abaaba,k值为3,abaxxaba,k值为1.现在,给出一个串,让你求这个串的所有前缀(包括本身)的k值的和. 如果考虑马拉车,那么先预处理出每个地方的最长回文长度,然后不断的截断,如果子串的回文长度大于其回文长度,那么k值加1,这样即可.但是马拉车写起来比较繁琐,没有模板我也没法手写. 这里提供hash…
题目链接:http://codeforces.com/contest/460/problem/A A. Vasya and Socks time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output Vasya has n pairs of socks. In the morning of each day Vasya has to put o…
题意 给定一个字符串 \(s\) ,求一个子串 \(t\) 满足 \(t\) 是 \(s\) 的前缀.后缀且在除前缀后缀之外的地方出现过. \(1 \leq |s| \leq 10^6\) 思路 \(\text{Z}\)算法是一个和 \(\text{Manacher}\)算法很像的字符串算法,功能是求出一个 \(z\) 数组,代表以 \(i\) 开头的后缀同整个串的 \(\text{lcp}\) . 首先回顾一下 \(\text{Manacher}\)算法的流程. int pos,r=0; FO…
题目 题意: 给出 n,m,k ,让你在长为 n,宽为 m 的坐标系里构建一个三角形,使得面积= n*m/k.如果存在,输出“YES”,输出三角形三个顶点的坐标:  如果不存在,输出“NO”. 思路: 参考其他人博客. 设长为a ,宽为b,所以要 a*b/2 = (n*m)/k ,要使有解,必须 2*n*m/k 是整数,所以只要讨论 2*n*m/k 就可.如果k=1,a<=n和b<=m范围内 一定  a*b/2 != n*m,所以 k >=2 . 设g= gcd( 2*n, k ): 如…
C. Vasya and String time limit per test 1 second memory limit per test 256 megabytes input standard input output standard output High school student Vasya got a string of length n as a birthday present. This string consists of letters 'a' and 'b' onl…
Codeforces 题面传送门 & 洛谷题面传送门 首先考虑一个询问 \(20\) 次的方案,考虑每一位,一遍询问求出下标的这一位上为 \(0\) 的位置上值的 bitwise or,再一遍询问求出下标的这一位上为 \(1\) 的位置上值的 bitwise or,然后这一位上为 \(0\) 的位置对这一位上为 \(1\) 的位置产生对应的贡献,同理这一位上为 \(1\) 的位置对这一位上为 \(0\) 的位置产生对应的贡献. 这个询问次数显然无法通过.注意到这个 \(13\) 的限制给得比较奇…
题目大概说给一个由a和b组成的字符串,最多能改变其中的k个字符,问通过改变能得到的最长连续且相同的字符串是多长. 用尺取法,改变成a和改变成b分别做一次:双指针i和j,j不停++,然后如果遇到需要改变且改变次数用完就让i++更正改变次数,最后更新答案.时间复杂度O(n). 另外,注意到k=0的情况. #include<cstdio> #include<cstring> #include<algorithm> using namespace std; ]; int mai…
题意:N,K,L,以及给定长度为N的序列,表示其对应的颜色,-1表示还没有涂色,现在让你去涂色,使得最后没有大于等于L的连续的同色的情况. 思路:我们用dp[i][j]表示第i个位置颜色为j的合法方案数,用sum[i]表示dp[i][1]+dp[i][2]+...dp[i][k]. 那么a[i]==j或者-1时,dp[i][j]=sum[i-1]-x.然后我们考虑到可能有不合法的情况x,当且仅当前面有长度为L的序列颜色为j或者-1时,其数量为sum[i-L]-sum[i-L][j],减去后面这个…
[题目大意] 给出一个$n$个数的序列$\{a_n\}$,其中有些地方的数为0,要求你把这个序列填成一个1到$n$的排列,使得: $(a_i, a_j) = 1$,当且仅当$(i, j) = 1$.多组数据. $n \leq 3\times 10^5, T\leq 10$ CodeForces:无多组数据,$n \leq 10^6$ [题解] 这题有点神奇啊.. 首先考虑序列全是0要怎么做. 考虑到如果两个数的位置含有的因数种类完全一样,那么它们是可以互换的.(这个挺显然的) 观察如果两个质数的…
题目链接:https://codeforces.com/problemset/problem/1202/D 题意: 构造一串只由 ‘1’,‘3’,‘7’ 组成的字符串,使其 ‘1337’ 子序列数量为n 思路: 构造 ‘13377733337’ 类型的字符串,使 C(m,2)+k=n k为中间 ‘7’ 的数量,C(m,2)为中间 ‘3’ 的数量 #include <bits/stdc++.h> using namespace std; typedef long long ll; #define…
题意 给定两个\(P,Q\)的正整数区间(\(P,Q\)都符合\([L,R]\)这个区间,并且都\(\le 10^9\)),分别从其中随机选出一个数,选出的两个数作为一个新区间的左右端点.要求新区间内的幸运数刚好为\(k\)个的概率(幸运数指一个数的数位只有4或7). 分析 这题要思考着做.首先能有一个直觉:在\(10^9\)中间的幸运数肯定不多(2^10左右).这个可以暴力求出.然后概率如何求?所有的情况一定是\((P_r-P_l+1)(Q_r-Q_l+1)\)这么多,然后符合条件的幸运数区间…
题意: 对于给定的a[1..n],定义区间[s,t]和[x,y]"匹配"当且仅当下列条件同时满足:1. t-s=y-x,即长度相同.3. t<x或s>y,即两区间没有交.2. 对任0<=i<=t-s,有a[s]+a[x]=a[s+i]+a[x+i].现给出a[1..n]和Q个询问(x,y),求与[x,y]匹配的区间的个数. /* 写了n个小时,还没有调出来,Orz... 代码量倒是不大,但是细节巨多,已经弃疗了... 先差分一下, 然后题目就变成了,也就是这段区…
题意:给出一组排列,某些位置不知道(-1),要求求出有多少种还原方式,使得所有a[i]!=i /* 这是一道关于排列的动态规划,这种体大都可以当作棋盘来做,如果把i这个数放到第j个位置,那么就将棋盘的第i行第j列填入数字,最后使每一行每一列只有一个数. 我们从棋盘中删去已经填入数字的行和列,设删完后的棋盘为nn*nn,设mm为不能填数的位置数,f[i][j]代表i*i的棋盘有j个不能填数的位置的合法方案. 转移方程:f[i][j]=f[i][j-1]-f[i-1][j-1] 边界:f[i][0]…
You are given two arithmetic progressions: a1k + b1 and a2l + b2. Find the number of integers x such that L ≤ x ≤ R and x = a1k' + b1 = a2l' + b2, for some integers k', l' ≥ 0. Input The only line contains six integers a1, b1, a2, b2, L, R (0 < a1, a…
题目链接:http://codeforces.com/problemset/problem/510/C Fox Ciel is going to publish a paper on FOCS (Foxes Operated Computer Systems, pronounce: "Fox"). She heard a rumor: the authors list on the paper is always sorted in the lexicographical order.…