计蒜客 数字解码 dp】的更多相关文章

思路:dp(i)表示前i个字符的解码方案种数.进行状态转移时需要仔细思考,分情况讨论: 设第i个字符和第i-1个字符组成的数为x. 1.如果x根本不可能出现说明不是合理的编码,直接使dp(i)为0,例如00,50,30等 2.如果x<10 || x>26,说明第i个字符一定不能和第i-1个字符组成一个字母,那么dp(i) = dp(i-1); 3.如果x == 20 || x == 10,说明第i个字符一定只能和第i-1个字符组成一个字母,那么dp(i) = dp(i-2); 4.(x>…
题目链接:https://nanti.jisuanke.com/t/31436 作为一名车手,为了提高自身的姿势水平,平时的练习是必不可少的.小 J 每天的训练包含 $N$ 个训练项目,他会按照某个顺序依次练习这些项目.出于一些玄妙的原因,训练的效果跟项目的顺序有着很大关系.当项目 $i$ 被安排在项目 $j$ 之前进行训练,小 J 会获得 $a_{i,j}$ 的熟练度,否则他会获得 $a_{j,i}$ 的熟练度.为了使训练效果尽可能好,小 J 希望这 $\frac{N(N-1)}2$ 对项目的…
题目链接:https://nanti.jisuanke.com/t/31434 小 D 是一位著名的车手,他热衷于在广场上飙车.每年儿童节过后,小 D 都会在广场上举行一场别样的车技大赛. 小 D 所在的广场可以看作一个 W×H 的网格,初始时小 D 位于左下角的 (1,1) 处,他的目的地是位于右上角的 (W,H). 每次移动时,小 D 会选择位于他右上方的一个方格,并移动到这个方格.由于车技的限制,每次移动小 D 的横坐标变化和纵坐标变化都不能超过 K. 也就是说,每次小 D 会在以当前位置…
Online Judge:计蒜客信息学3月提高组模拟赛 Label:记搜,TarJan缩点,树状数组,期望Dp 题解 整个题目由毫无关联的两个问题组合成: part1 问题:对于每个询问的起点终点,求出起点到终点能够收获的最大矿石价值. 思路: 1.矿石种类不多,且收获价值时只与是否拥有有关,与收集数量无关,可以用状态压缩表示当前收集矿石的状态: 2.由于是单向边且可能形成环,用\(Tarjan\)缩点,然后进行转移.或者直接记忆化dfs/bfs,用\(dp[i][j][sta]\)表示,从\(…
计蒜客\(2019CSP\)比赛第二场 巧妙爆零这场比赛(我连背包都不会了\(QWQ\) \(T1\) \(Too\) \(Young\) 大学选课真的是一件很苦恼的事呢! \(Marco\):"我要两年毕业!我要选尽量多的学分!这些课统统选上!" 长者:"你啊,\(Too Young\)!你看看作业量,你做的完吗?" \(Marco\)(笑容逐渐消失\(.gif\)):"那可咋整啊?" 长者:"还能咋整?退课呗!" 已知 \…
鉴于我市拥堵的交通状况,市政交管部门经过听证决定在道路两侧安置自动停车收费系统.当车辆驶入车位,系统会通过配有的摄像头拍摄车辆画面,通过识别车牌上的数字.字母序列识别车牌,通过连接车管所车辆信息数据库确认车辆,进行扣费. 斗智斗勇的好戏一般从此处展开… 一些车主通过在停车时遮挡车牌上的一个或多个数字.字母序列,来阻碍识别系统的识别工作,以此逃避停车费用的缴纳. 车主这简直是用轻轻的一挡搞出来一个世界难题有木有?!管理是一方面,技术解决才是王道啊. 这么难的项目不得不交给计蒜客实验室了.D 神负责…
又到了一年一度的新生入学季了,清华和北大的计算机系同学都参加了同一场开学考试(因为两校兄弟情谊深厚嘛,来一场联考还是很正常的). 不幸的是,正当老师要统计大家的成绩时,世界上的所有计算机全部瘫痪了. “计算机坏了,可计算机系还得办.小 K,你去了解一下大家的成绩,顺便数数今年两校计算机系有多少人吧!” 于是,小 K 来到了人群中,开始调查大家的成绩. 然而,同学们只有七秒钟的记忆,已经忘记了自己的具体成绩(这可真是尴尬啊). 但是,因为在忘记成绩之前和校友互相调侃过,他们清楚地记得 在自己的学校…
计蒜客 NOIP 提高组模拟竞赛第一试 补记 A. 广场车神 题目大意: 一个\(n\times m(n,m\le2000)\)的网格,初始时位于左下角的\((1,1)\)处,终点在右上角的\((n,m)\).每次移动可以选择移动到自己右上方的某一方格,且横坐标和纵坐标的变化都不能超过\(k(k\le2000)\).求一共有多少种移动方案? 思路: \(f[i][j]\)表示走到\((i,j)\)的方案数,一边DP一边维护二维前缀和即可. 时间复杂度\(\mathcal O(nm)\). 源代码…
这是我无聊时在计蒜客发现的一道题. 题意: 蒜头君有一天闲来无事和小萌一起玩游戏,游戏的内容是这样的:他们不知道从哪里找到了N根不同长度的木棍, 看谁能猜出这些木棍一共能拼出多少个不同的不等边三角形.注意在拼三角形的时候一定要用上所有的木棍. 不同的定义是至少有一条边的长度不相同:不等边的定义是三条边都不相等. 输入格式: 第一行为数据组数T,(1 <= T <= 15). 接下来每组数据占两行,第一行为木棍的数量 N(1 <= N <= 15) 第二行有N个正整数li(1 <…
题目: https://www.jisuanke.com/course/2291/182238 思路: 1.dfs(int a,int b,int c,int index)//a,b,c三条边的边长,index是数组的下标 从dfs(0,0,0,0)开始,每次选的长度可能加到a,也可能b,也可能c, 三种可能分别dfs: dfs(a+len[index+1],b,c,index+1);dfs(a,b+len[index+1],c,index+1);dfs(a,b,c+len[index+1],i…
题目: https://www.jisuanke.com/course/2291/182237 思路: 来自:https://blog.csdn.net/qq_29980371/article/details/76599695 dfs(int cnt, int curVal)//cnt是k,p的下标,curVal当前的和值从1到m遍历进入dfs,然后不停dfs,进行查找,满足条件将结果加一,cnt临界就跳出循环, #include<iostream> #include<cstdio>…
题目: https://www.jisuanke.com/course/2291/182236 思路: 递归解决,从第一本书开始,每本书都有两种选择: //index是book里面每本书价格的下标, //money是目前的费用,cnt是计数现在买了几本书 1.买 dfs(index+1,money+book[index],cnt+1); 2.不买 dfs(index+1,money,cnt);//不买index这本书,往下一本书走 不断的递归进行选择,直到得出结果. #include<iostr…
Ada, Bertrand and Charles often argue over which TV shows to watch, and to avoid some of their fights they have finally decided to buy a video tape recorder. This fabulous, new device can record kk different TV shows simultaneously, and whenever a sh…
https://github.com/congmingyige/web-crawler_rank-of-competition-in-JiSuanKe-and-hihocoder 1. 计蒜客(获取复制不了的数据) import java.util.Scanner; /** * 无法从网页上获得源代码 */ public class GetScore_jisuanke { static String PREFIX_UNICODE= "\\u"; static char ascii2Ch…
ACM训练联盟周赛 这一场有几个数据结构的题,但是自己太菜,不会树套树,带插入的区间第K小-替罪羊套函数式线段树, 先立个flag,BZOJ3065: 带插入区间K小值 计蒜客 Zeratul与Xor 赛后知道这是个01字典树的题目(嘤嘤嘤???) 这一场写了两道(具体来说就一道)就开溜了,但是计蒜客上这个比赛貌似没有赛后补题,但是有差不多的题目,所以去补那些题就可以了. 有题库链接,可以补题了. G. 算个欧拉函数给大家助助兴 这个题和上一场的 F.Divisions,其实就是一样的题目,代码…
计蒜客里面有一道“跳跃游戏的问题” 给定一个非负整数数组,假定你的初始位置为数组第一个下标. 数组中的每个元素代表你在那个位置能够跳跃的最大长度. 你的目标是到达最后一个下标,并且使用最少的跳跃次数. 例如: A = [2,3,1,1,4],到达最后一个下标的最少跳跃次数为 2.(先跳跃 1 步,从下标 0 到 1,然后跳跃 3 步,到达最后一个下标.一共两次) 输入格式 第一行输入一个正整数 n,接下来的一行,输入 n 个整数,表示数组 A. 输出格式 最后输出最少的跳跃次数. 这道题目吧,其…
今天模拟赛考了一道计蒜客NOIP2017模拟赛(三)day2T3的数三角形,原题链接 https://nanti.jisuanke.com/t/T2202 ,LZOJ3878攻略.场上想了很久都没转化出来,后来觉得这道想法题很妙,记录一下. 题意: 数出一个完全图中完全异色三角形\(\times 3\)-完全同色三角形\(\times 6\)的答案是多少. 解法: 方法一: 转化为:题目本质上是出现同色三角形好感度-9,出现两条边相等另一条不同的三角形好感度-3, 数一数同色角的个数就行了 方法…
ICPC官网题面假的,要下载PDF,点了提交还找不到结果在哪看(我没找到),用VJ交还直接return 0;也能AC 计蒜客题面 这个好 Time limit 3000 ms OS Linux 题目来源 ACM-ICPC 2017 Asia Xi'an VJ爬到的英文题面什么鬼啊,除了标题,哪里有xor字样啊?\((A[i_1], A[i_2], . . . , A[i_t])\)意思是gcd啊?简直了. 计蒜客的题面 2000ms 是不是计蒜客评测姬快一点,时限少了1s 262144K Con…
POJ 2749 分解因数(计蒜客) Description 给出一个正整数a,要求分解成若干个正整数的乘积,即a = a1 * a2 * a3 * - * an,并且1 < a1 <= a2 <= a3 <= - <= an,问这样的分解的种数有多少.注意到a = a也是一种分解. Input 第1行是测试数据的组数n,后面跟着n行输入.每组测试数据占1行,包括一个正整数a (1 < a < 32768) Output n行,每行输出对应一个输入.输出应是一个正…
VJ链接:https://vjudge.net/contest/412095#problem/A Cat 计蒜客 - 42540 题意: 给你一个区间[L,R],给你现在拥有的钱S.你需要从[L,R]区间中选取一些连续的数,如果i^(i+1)^(i+2)^...^(j-1)^j<=s(L<=i<=j<=R),那么你就可以拥有[i,j]这一个子区间.问你你拥有的子区间长度最长是多少 1<=L,R<=1e18 1<=S<=2e18 题解: 你会发现4k^(4k+…
UCloud 的安全秘钥 题意 给出一个数组 s 串,和数组 t 串,那么如果两者长度相同且两者所含的数字全部相同,则说这两个串相似. 给定原始串 S ,以及 m 个询问 T 串,问 S 串有多少个连续子串和 T 串相似. 分析 2017年计蒜之道第五场的题目.题目很有趣,虽然比赛里只水出了中等难度.看了题解,学到了新姿势! 这道题,为了优化复杂度,就是要快速判断两个数组是否完全相同, 对于中等难度,询问的次数很少,那么我们就要加快 T 和 S 的子串的比较速度,那么可以把 1到50000 (n…
题目链接 取数游戏 思路:dp(x, y)表示先手在区间[x, y]能取得的最大分数.当先手取完,就轮到后手去,后手一定会选择当前能令他得到最大分数的策略,其实当先手在[x, y]区间两端取走一个数,那么后手面临两个状态[x+1, y]和[x, y-1],先手想要取得最大值,一定会想让后手取这两种状态中的较小值,设[x, y]区间的数字和为sum,转移方程就是dp(x, y) = max{sum - dp(x+1, y), dp(x, y-1)}.边界就是只有一个数的时候,即x==y. 关于博弈…
有如下一个双人游戏:N个正整数的序列放在一个游戏平台上,两人轮流从序列的两端取数,每次有数字被一个玩家取走后,这个数字被从序列中去掉并累加到取走该数的玩家的得分中,当数取尽时,游戏结束.以最终得分多者为胜. 编一个执行最优策略的程序,最优策略就是使自己能得到在当前情况下最大的可能的总分的策略.你的程序要始终为两位玩家执行最优策略. 行包括一个正整数N(2≤N≤100), 表示序列中正整数的个数.输入第2行包含用空格分隔的N个正整数(1≤所有正整数≤200). 只有一行,用空格分隔的两个整数: 依…
题目链接:https://nanti.jisuanke.com/t/16444 题意: 蒜头君是一个乐于助人的好孩子,这天他所在的乡村发生了洪水,有多名村民被困于孤岛上,于是蒜头君决定去背他们离开困境,假设蒜头君所在的村子是n*m的网格,网格中.号代表平地,#号代表该地已被洪水淹没,A.B--等大写字母表示该地有村民被困,s代表蒜头君的起点,t代表蒜头君的终点. 蒜头君的初始速度为 k秒一格,他每次可以向上下左右4个方向中的一个移动1格.在背上一个村民后,他的速度可能会降低,也可能会加快,但他的…
题目链接:https://nanti.jisuanke.com/t/16447 题意: 蒜头君有一只坐骑,人马. 一天,蒜头君骑着他的坐骑走上了一片n*m的大荒野,一开始时,蒜头君在(1,1)点,他要前往(n,m)点,蒜头君的人马每次可以向右或向下移动一格.然而这片荒野并不平静,除了起点和终点外每个点都有一只怪物会袭击蒜头君. 然而蒜头君的人马强大无比,它会先对怪物造成等同于它攻击力的伤害,然后蒜头君才会受到怪物的攻击,伤害等同于怪物的攻击力.然后人马再攻击怪物,怪物再攻击蒜头君,直至怪物死去,…
题目链接:https://nanti.jisuanke.com/t/20                                         跳跃游戏二 给定一个非负整数数组,假定你的初始位置为数组第一个下标.数组中的每个元素代表你在那个位置能够跳跃的最大长度.你的目标是到达最后一个下标,并且使用最少的跳跃次数. 例如: A = [2,3,1,1,4],到达最后一个下标的最少跳跃次数为 2.(先跳跃 1 步,从下标 0 到 1,然后跳跃 3 步,到达最后一个下标.一共两次) 输入格式…
题目链接:https://nanti.jisuanke.com/t/26984                                                                        淘宝的推荐系统 小明刚刚入职淘宝,老大给他交代了一个简单的任务,实现一个简易的商品推荐系统.这个商品推荐系统的需求如下: 一共有 nn 件商品可以被推荐,他们的编号分别为 1 到 n.每件商品都有一个价格,编号为 i 的商品价格为 pi​元.现在需要给用户推荐尽可能多的商品,但…
题目链接:https://nanti.jisuanke.com/t/30994 样例输入: 5 5 6 0 4 5 1 1 3 4 1 2 2 3 1 3 1 2 1 4 样例输出: 55 样例输入: 1 -100 0 0 样例输出: 0 题解: 把n道题目做了或者没做作为状态,裸的状压DP. 其中当前的时间 t,就是当前做了的题目数量加上1. AC代码: #include<bits/stdc++.h> using namespace std; typedef long long ll; co…
http://nanti.jisuanke.com/t/15 题目要求是求出只出现一次的数字,其余数字均出现三次. 之前有过一个题是其余数字出现两次,那么就是全部亦或起来就得到答案. 这题有些不太一样. 显然,最裸的做法就是cnt[i]表示i出现的次数.然后求出cnt[i]为1的那一个. 然后可能会考虑到,对于这些数字的二进制位来看,某一位二进制位出现3的倍数次的话,那么只出现一次的数字这一位一定是0.如果出现3的倍数加1次,那么自然,只出现一次的数字这一位一定是1. 然后就考虑用cnt[i]表…
链接 : Here! 思路 : 首先这棵家族树非常非常非常有特点, 家族里的人要么没有孩子, 要么有两个孩子, 所以这棵家族树是一颗满二叉树. 设定状态 $dp[i][j]$ 为 $i$ 个人组成的不超过 $j$ 层的家谱结构种数, 首先明确一点, 那些状态会为这个状态贡献值 ? 自然能够想到左右两个孩子, 也就是 $dp[m][j-1]$, $dp[i-1-m][j-1]$ $(1 \leq m \leq i-2)$ , 那么很自然的就能够得到状态转移方程 : 1. $dp[1][j] = 1…