E 0.9 seconds, 32 MB " 于是乎,你至少证明了你智商比金天成高.也就说你证明了你不是低智儿童,不错不错. 然而这次, 我貌似也卡住了,你给我打下手吧. 勇敢的少年啊快去创造奇迹!" ---By Doctor Z 貌似 Z 博士正在解析 Zvangelion 初号机的一些问题. 中间遇到了困难. Zvangelion 初号机有一块 R*S 的电路模块被某种 UMA 感染了. 为了方便我们用整数 描写叙述每一个单元的零件, 即用一个整数矩阵来表示该模块. 这样的 UMA…
2015年蓝桥杯第十题--生命之树(无根树dfs) ①暴力解法:枚举子集(选点) + dfs判断连通性(题目要求连通)满足上面两个条件下找出最大值权值和 ②dfs无根树转有根树,递归找最优 先学习无根树转有根树 参考博客:https://blog.csdn.net/Originum/article/details/82258450 参考博客:https://www.cnblogs.com/yspworld/p/4270876.html 无根树转有根树模板 void dfs(int cur, in…
题意: 给出一个n*m的地图,要求从左上角(0, 0)走到右下角(n-1, m-1). 地图中每个格子中有一个值.然后根据这些值求出一个最小值. 这个最小值要这么求—— 这是我们从起点走到终点的路径,其中N是地图的长,M是地图的宽,Ai表示路径中第i个点的值,Aavg表示路径中所有的点的值的平均值.要求这个式子的值最小. 我们可以将它转化为 好了,推到这里,我们需要的数学知识就结束了(实际上以我的数学知识也只能做到这里了……).然后dp就好了—— Dp[i][j][k],i表示第i行,j表示第j…
#include<iostream> #include<cstdio> #include<string> #include<cstring> #include<algorithm> using namespace std; ; struct edge{ int to; int nxt; }; int n,g[maxn],dep[maxn],dpd[maxn],dpv[maxn]; int head[maxn],cnt; edge e[maxn];…
也算是接下来二十天的复习计划吧 仅止于联赛难度左右 基础算法 字符串 char[] cstring memset() 输入无& gets(), fgets(stdin, ,); strcmp, strcpy, strcat string string cin, getline(cin,s) ios::sync_with_stdio(false); - > 只能用cin 子串匹配 暴力匹配 hash哈希 trie树 字典树 kmp AC自动机 (trie树上做kmp) 回文串 暴力匹配 n^2…
题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=5396 Problem Description Teacher Mai has n numbers a1,a2,⋯,anand n−1 operators("+", "-" or "*")op1,op2,⋯,opn−1, which are arranged in the form a1 op1 a2 op2 a3 ⋯ an. He wan…
Zero Escape Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Submission(s): 289    Accepted Submission(s): 135 Problem Description Zero Escape, is a visual novel adventure video game directed by Kotaro Uchiko…
B. New Year and Old Property 题目连接: http://www.codeforces.com/contest/611/problem/B Description The year 2015 is almost over. Limak is a little polar bear. He has recently learnt about the binary system. He noticed that the passing year has exactly on…
转自:2015最流行的Android组件.工具.框架大全 Android 是目前最流行的移动操作系统之一. 随着新版本的不断发布, Android的功能也日益强大, 涌现了很多流行的应用程序, 也催生了一大批的优秀的组件.本文试图将目前流行的组件收集起来以供参考, 如果你发现本文还没有列出的组件,欢迎在评论中贴出来,我会定期的更新本文. 部分图片需国内或许不能访问才能显示 很好的中文教程Google Android官方培训课程中文版 awesome-android, android列表. 另,g…
Partial Tree Problem Description In mathematics, and more specifically in graph theory, a tree is an undirected graph in which any two nodes are connected by exactly one path. In other words, any connected graph without simple cycles is a tree. You f…
[BZOJ 3992] [SDOI 2015] 序列统计(DP+原根+NTT) 题面 小C有一个集合S,里面的元素都是小于质数M的非负整数.他用程序编写了一个数列生成器,可以生成一个长度为N的数列,数列中的每个数都属于集合S.小C用这个生成器生成了许多这样的数列.但是小C有一个问题需要你的帮助:给定整数x,求所有可以生成出的,且满足数列中所有数的乘积mod M的值等于x的不同的数列的有多少个.小C认为,两个数列{Ai}和{Bi}不同,当且仅当至少存在一个整数i,满足Ai≠Bi.另外,小C认为这个…
# 2015 - 2020 最新 Linux 命令大全 ## VIM 命令模式(Command mode):vi 插入模式(Insert mode):i底线命令模式(Last line mode):esc + :wqlinux centOS 命令:man  查看ctrl+L 清屏ls 列出文件ls -a 列出所有文件pwd 查看当前所在目录cat xxx  查看xxx文件的内容shutdown [OPTIONS...][TIME][WALL]可选参数列表:命令参数,时间,给已经登陆的user发送…
动态规划 动态规划 容易: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , 不易: , , , , , , , , , , , , , , , , , , , , , , , , 推荐: , , , , , , , , , , , , , , , , , , , , , , , , Jury Compromise False co…
题目链接 http://acm.split.hdu.edu.cn/showproblem.php?pid=5379 Problem Description Little sun is an artist. Today he is playing mahjong alone. He suddenly feels that the tree in the yard doesn't look good. So he wants to decorate the tree.(The tree has n…
Problem B. Infinite House of Pancakes Problem's Link:   https://code.google.com/codejam/contest/6224486/dashboard#s=p1 Mean: 有无限多个盘子,其中有n个盘子里面放有饼,每分钟你可以选择两种操作中的一种: 1.n个盘子里面的饼同时减少1: 2.选择一个盘子里面的饼,分到其他盘子里面去: 目标是让盘子里的饼在最少的分钟数内吃完,问最少的分钟数. analyse: 可以分析出,先…
题目描述: 生命之树 在X森林里,上帝创建了生命之树. 他给每棵树的每个节点(叶子也称为一个节点)上,都标了一个整数,代表这个点的和谐值.上帝要在这棵树内选出一个非空节点集S,使得对于S中的任意两个点a,b,都存在一个点列 {a, v1, v2, ..., vk, b} 使得这个点列中的每个点都是S里面的元素,且序列中相邻两个点间有一条边相连. 在这个前提下,上帝要使得S中的点所对应的整数的和尽量大.这个最大的和就是上帝给生命之树的评分. 经过atm的努力,他已经知道了上帝给每棵树上每个节点上的…
Visual Studio 2015  发行说明: https://visualstudio.com/zh-cn/news/vs2015-vs.aspx Visual Studio  2015 特性简介: 通过使用单个 IDE,可以创建面向 Windows.iOS.Android 等的多平台应用. —Web.移动和云开发工具— 构建面向 Windows.Android 和 iOS 的应用—集成的设计器.编辑器.调试器和探查器—采用 C#.C++.JavaScript.Python.TypeScr…
[非常干货之Python资源大全]Python是一门美妙的语言,简单易用,容易提升.它是一门主流语言,却没有其它专业语言的弊病,从游戏,ML,GUI到科学和数学有着巨量的函数库. 直击现场 <HTML开发MacOSApp教程>  http://pan.baidu.com/s/1jG1Q58M 这里收录的资源干货应有尽有,请猛戳链接 http://t.cn/RAVxhhi…
D. New Year and Ancient Prophecy 题目连接: http://www.codeforces.com/contest/611/problem/C Description Limak is a little polar bear. In the snow he found a scroll with the ancient prophecy. Limak doesn't know any ancient languages and thus is unable to u…
D - Pick The Sticks Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 无 Description The story happened long long ago. One day, Cao Cao made a special order called "Chicken Rib" to his army. No one got his point and all became very panic. However, Cao…
C - The Battle of Chibi Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 无 Description Cao Cao made up a big army and was going to invade the whole South China. Yu Zhou was worried about it. He thought the only way to beat Cao Cao is to have a spy in Cao…
给你一个二进制数,,每一位有一个权值,让你转格雷码,求所对应格雷码位为1的权值的和:二进制位中的某些位为?,你需要给这些问号赋值使得到的和最大. 首先你得知道二进制转格雷码的规则,即格雷码位为[二进制位与左边前一位的异或值],格雷码首位为二进制首位: 因为格雷码首位为二进制首位,那么可以视二进制首位的左边前一位是0: 然后你就可以分情况模拟了: 1.连续数字的情况直接计算即可: 2.连续问号的情况需要dp一下:dp[k][j]表示第k个问号是j时,得到的最大和,那么dp[k][j] = max(…
题意比较简单, dp[i][j] 表示上一次男女吃的deliciousness分别为i, j的时候的吃的最多的苹果. 那么dp[i][j] = max(dp[i][k] + 1),   0 <  k <= j dp[i][j] = max( max(dp[k][j]) + 1 ) , 0 < k <= i 对于第一个式子最大值 用树状数组线段树都可以解决, 第二个式子如果每次从0遍历到i再找最值的话,显然会超时. 仔细想想便可以发现第二个最值和第一个是一样的. 这个不好解释. 像是…
Problem I: 游戏王 Description 小学的时候,Stubird很喜欢玩游戏王.有一天,他发现了一个绝佳的连锁组合,这个连锁组合须要6张卡. 但是他一张都没有,但是他的那些朋友们有.只是当然.他们不会白给,只是也不排除有人和他交情好,送给他了. 只是他们有成全别人的美德,当他们看到Stubird已经有某些他们喜欢的卡的时候.他们会给他优惠,或者更贵也说不定 嘛只是,你能够把有的卡片藏起来,不告诉他们,来获得更低的价格. 问他最少须要多少钱才干够集齐全部的卡. Input 第一行T…
H. Special Palindrome time limit per test:1 second memory limit per test:64 megabytes input:standard input output:standard output A sequence of positive and non-zero integers called palindromic if it can be read the same forward and backward, for exa…
Sample Input 1 100 2 10 2 1 20 1 1   Sample Output 21 题意:共有m元钱和n种东西,求每种单价p,而且你买x个该种物品可以得到Ax+B个,求m元钱最多能得到多少. 思路:先01背包处理出A+B的情况,再用完全背包往里算加A能得到的情况. #include<iostream> #include<cstdio> #include<cstdlib> #include<cstring> #include<cm…
Sample Input 4 3 9 1 1 2 6 3 9 1 2 3 3 5 2 3 1 1 1 1 1 9 9 9 1 2 3 4 5 6 7 8 9   Sample Output 1 0 10 60 题意: 已知有两个门,要求将人分为两组,两组的“和”分别等于两个门的数字,当然也可以全部进入一个门 思路:(NeverMoreH) 如果能找到满足题意的解,一定满足a和b的和等于n个人的标号的和,所以我们只需要判断n个人的标号组成a的情况有多少(或者只判断b,一样),同时还要注意可以把n个…
Sample Input 2 00?0 1 2 4 8 ???? 1 2 4 8   Sample Output Case #1: 12 Case #2: 15 ?部分可以是0  or  1,将二进制转化成格雷码后,哪里是 1 就可以取相应的数,求得到数的最大值 ①:判断连续的?的个数奇偶不同,两边是否相等.在有时会去掉一个最小值.(感觉写着很麻烦) #include <iostream> #include <cstdio> #include <vector> #inc…
在一个二维01矩阵中找到全为1的最大正方形 1 0 1 0 0 1 0 1 1 1 1 1 1 1 1 1 0 0 1 0 以矩阵中每一个点作为正方形右下角点来处理,而以该点为右下角点的最大边长最多比以它的左方.上方和左上方为右下角的正方形边长多1,所以这时只能取另外三个正方形中最小的正方形边长+1.用d[i][j]表示以i,j坐标为右下角的正方形最大边.则有状态转移方程:dp[i][j] = min(dp[i-1][j-1], min(dp[i-1][j], dp[i][j-1])) + 1,…
题面: \(solution:\) 又是一道\(DP\)的好题啊!状态并不明显,需要仔细分析,而且还结合了栈的特性! 做这一类题,只要出题人有点理想,一定会在栈的性质上做点文章,所以我们尽量围绕栈的性质设置\(DP\)状态.可是栈又有什么性质呢?讲真,考场我是真没想到,好像压根就不知道有这个特性: 对于队列里\([l,r]\)范围内的数,必然存在一个最晚出栈的\(i\in[l,r]\),而我们不难发现此时\([l,i-1]\)必然比\([i+1,r]\)出栈要早一些,因为\([i+1,r]\)进…