[Codeforces]1263B PIN Code】的更多相关文章

题目 A PIN code is a string that consists of exactly 444 digits. Examples of possible PIN codes: 701370137013, 000000000000 and 099009900990. Please note that the PIN code can begin with any digit, even with 000. Polycarp has n(2≤n≤10)n(2≤n≤10)n(2≤n≤10…
[Codeforces 1197E]Culture Code(线段树优化建图+DAG上最短路) 题面 有n个空心物品,每个物品有外部体积\(out_i\)和内部体积\(in_i\),如果\(in_i> out_j\),那么j就可以套在i里面.现在我们要选出n个物品的一个子集,这个子集内的k个物品全部套在一起,且剩下的物品都无法添加到这个子集中(没有空间塞进去).定义浪费的空间为子集中空心的部分,即\(in_{i_1} + (in_{i_2} - out_{i_1}) + (in_{i_3} -…
Discription Arkady's code contains nn variables. Each variable has a unique name consisting of lowercase English letters only. One day Arkady decided to shorten his code. He wants to replace each variable name with its non-empty prefix so that these…
http://codeforces.com/problemset/problem/543/A 题目大意:n个人,一共要写m行程序,每个程序员每行出现的bug数为ai,要求整个程序出现的bug数不超过b的方案数. 思路:f[i][j]代表第m行,j个bug的方案数,n^3转移 #include<cstdio> #include<cmath> #include<iostream> #include<algorithm> #include<cstring&g…
有n个程序,这n个程序运作产生m行代码,但是每个程序产生的BUG总和不能超过b, 给出每个程序产生的代码,每行会产生ai个BUG,问在总BUG不超过b的情况下, 我们有几种选择方法思路:看懂了题意之后就是一个完全背包题了 定义dp[ i ][ j ][ k ] 表示前 i 个程序员,已经写了 j 行代码, 已经产生了 k 个 bugs . 根据题意,得知第 i 个程序员会写 r 行代码,那么相当于 dp[ i ][ j ][ k ] += dp[i - 1][j - r][k - ra[ i ]…
参考自:https://www.cnblogs.com/ECJTUACM-873284962/p/6423483.html B. Code For 1 time limit per test:2 seconds memory limit per test:256 megabytes input:standard input output:standard output Jon fought bravely to rescue the wildlings who were attacked by…
Short Code 我的想法是建出字典树, 然后让后面节点最多的点优先向上移到不能移为止, 然后gg. 正确做法是对于当前的节点如果没有被占, 那么从它的子树中选出一个深度最大的点换到当前位置. 用set启发式合并维护一下. #include<bits/stdc++.h> #define LL long long #define fi first #define se second #define mk make_pair #define PLL pair<LL, LL> #de…
[题目链接]:http://codeforces.com/contest/768/problem/B [题意] 一开始给你一个数字n; 让你用这个数字n根据一定的规则生成序列; (如果新生成的序列里面还有大于1的数字,就一直按着上面的规则重复生成); 最后让你统计在一个区间范围内的1的数目; [题解] 一个树形的样子; 算出总共1的数目(整棵树的叶子节点上和节点的余数上) 这个挺好算的; 然后在从下往上走的时候记录每个节点的子树的size; 和子树所含的1的个数; 不 应该先算出总的size;…
[题目链接]:http://codeforces.com/contest/765/problem/B [题意] 让你把每个变量都依次替换成a,b,c,-.d这些字母; 且要按顺序先用a再用b-.c.d.e-.z [题解] 模拟一下这个过程就好了; 每次看看最左边那个字母是什么(当然之前已经模拟过的除外); 看看是不是当前枚举到的字母; 不是的话就错误; [完整代码] #include <bits/stdc++.h> using namespace std; #define lson l,m,r…
洛谷题目页面传送门 & CodeForces题目页面传送门 题意见洛谷里的翻译. 首先我们可以用区间DP算出对于每个子01串,能表示的字母串的个数. 设\(dp_{i,j}\)表示长度为\(i\),起点为\(j\)(下标从\(1\)开始)的子01串能表示的字母串的个数(也许我设的DP状态有点奇怪).显然,\(dp_{0,i}=1\),因为空子01串能且仅能表示空字母串. 那么转移怎么转移呢?可以从串的首部转移,从首部挖出\(1\sim4\)个字符组成字母,累加上剩下的串的DP值.那么状态转移方程…