07 2016 档案
摘要:题意: 一人刚开始在(0,a)点,水速是v2(方向是x轴),船速是v1(方向任意),问到达(0,0)的最少时间? 分析: 这题当时队友过的,贴一下官方题解。 首先这个题微分方程强解显然是可以的,但是可以发现如果设参比较巧妙就能得到很方便的做法。 先分解v1v1, 设船到...
阅读全文
摘要:题意: 给你一个n∗m的棋盘,然后给你4种棋子,分别是: 1.王:能横着走,或者竖着走,或者斜着走,每次可以走1格 2.车:可以横着走或者竖着走,每次可以走无数格 3.马:走日字形,例如:如果现在在(1,1),可以走到(2,3),即先走一格直线,然后斜着走一格 4.王后:可以横着走...
阅读全文
摘要:题目:http://codeforces.com/contest/702/problem/E 题意: 给一个有向图,每个节点从1到n,给出每个节点直接指向的节点fi和边,要求你找出两个数: 1. 从v点出发,走k个节点所经过的边权值之和si 2. 从v点出发,走k个节点所经过的最小...
阅读全文
摘要:A. Maximum Increase 题意: 给出一个数列(nusing namespace std;typedef long long ll;const int N=1e5+9;int a[N];int main(){ int n;scanf("%d",&n); i...
阅读全文
摘要:hdu 5776 sum题意: 给一个n个数的数列,求是否存在一个连续和是m的倍数,存在输出YES。 分析: 预处理前缀和,一旦有两个数模m的值相同,说明中间一部分连续子列可以组成m的倍数。 另外,利用抽屉原理,我们可以得到,一旦n大于等于m,答案一定是YES 复杂度 O(...
阅读全文
摘要:题意: 一句话可能有两个意思,给出两个字符串A,B。B是双重意思的字符串,问A这个字符串可有几种意思?也就是说,把B串在A中替换成*,一共可以构造出几种? 例: hehehehe hehe 答案是5分析: 这题当时是我做的,第一次next数组编译错误QAQ,第二次A了。 思路是:先...
阅读全文
摘要:题意:给出一个n个数(从1-n)的序列,经过冒泡排序后从小到大排列,问中间过程中,每个数到达的最右边和最左边的差值是多大? 例: 3 1 2 答案就是:1 1 2分析:考虑一个位置上的数字c在冒泡排序过程的变化情况。c会被其后面比c小的数字各交换一次,之后c就会只向前移动。数组从右...
阅读全文
摘要:Aaronson Accepts: 607 Submissions: 1869 Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) 问题描述 给出一个不定方程x0+2x...
阅读全文
摘要:题意: 一个棋盘有n行,每行20格子,都有一些棋子,两个人轮流进行这个操作:选择某一行一个棋子移动到该行右边第一个空的格子。不能进行的人输。问先手是否能赢。分析: SG函数的应用,当时自己做的时候没做出来QAQ。终结点是这一行没有棋子可以走,即0,然后逆推出其他结点的SG函数。每一...
阅读全文
摘要:题意: 给出一个图,求最小生成树,然后求一下最小生成树的任意两点之间距离的期望。nusing namespace std;#define mp make_pairtypedef long long ll;typedef pairpii;const int INF=1e9;const...
阅读全文
摘要:组合游戏以前接触的比较少,现在学习一下,这种东西还是结合题目好理解点.网上比较好的博客:组合博弈 – 三大基本博弈 巴什博奕(Bash Game) :有一堆n个物品,两人轮流从堆中取物品,每次取 x 个 ( 1 ≤ x ≤ m)。最后取光者为胜。题目:hdu 1846 Brave ...
阅读全文
摘要:题目:poj 1836题意: 求使数列程先递增后递减的形式需要去掉的数字个数。当然也可以直接递减或者只递减不递增。 分析: 用最长递增子序列的方法求,然后枚举两个起点的位置即可。#include#include#includeusing namespace std;const in...
阅读全文
摘要:Oracle Accepts: 599 Submissions: 2576 Time Limit: 8000/4000 MS (Java/Others) Memory Limit: 262144/262144 K (Java/Others) 问题描述 曾经有一位国王,统治着一片未名...
阅读全文
摘要:题意: 问母串中至少去掉多少个字母才能是刚好由单词表中的一些单词连接而成的。 分析: dp,f[i]表示母串从第i位起始的后缀所对应的最少去掉字母数。 f[i]有两种选择f[i + 1] + 1或者f[i + num] + num - strlen(word[j])。其中num是从...
阅读全文
摘要:题意:给出总的钱币额V,给出n种币值和数目,问最接近V的的组合?分析:多重背包的模板题,多重背包问题是: 有N种物品和一个容量为V的背包。第i种物品最多有num[i]件可用,每件费用是c[i],价值是w[i]。求解将哪些物品装入背包可使这些物品的费用总和不超过背包容量,且价值总和最...
阅读全文
摘要:题目:poj 2531 题意: 给出n(n#includeusing namespace std;typedef long long ll;const int N=22;int n,ans;int w[N][N];bool in[N];void dfs(int k,int sum){ i...
阅读全文
摘要:题目:poj 3278 题意: 在[0,100000]上,给定两个整数n和k通过 n+1或n-1 或n*2 这3种操作,使得n==k,输出最少的操作次数 分析: bfs入门题,每个状态记录一下位置和步数,然后bfs就好。 题目:poj 1426 题意: 给一个正整数n,找出n的某个倍数m...
阅读全文
摘要:题目:poj 2488 A Knight's Journey 题意: 给一个m*n的棋盘,马走日,给出一条字典序最小的马的路线来走完整个棋盘? 分析: 如果能走完棋盘,那么从(1,1)点dfs即可,因为他能走完整个棋盘嘛,总有一步会经过(1,1),所以从(1,1)出发就能到其他所有点。 为了保...
阅读全文
摘要:题意: 给出一些字符串,统计出现的次数,并按字典序输出。 分析: 裸的Trie树,因为输出按字符串的字典序输出,所以插入的时候,把第一次出现的字符串暂时保存起来。以后排完序在查询输出即可。 不过这题我发现了一个很神奇的地方,因为我刚开始保存字母节点的时候开的数组是26,如果出现大写字母或空格可定...
阅读全文
摘要:题意: 给出一些木棍,每个木棍两端有两种颜色,不同的木坤如果首尾颜色相同,那么就可以连接起来,问是否所有的木棍看可以连成一条线? 分析: 这题跟Uva10129单词那题几乎是一样的,只不过那题是有向图,因为单词的首尾是固定的嘛!而这题是无向图,无向图的话先判断一下是否是连通图,然后再判断一下每个...
阅读全文
摘要:题意: 每次插入一个数字,在第u[i]次插入完后可以查询第k大的数字,然后k递增,初始化k=1。 总共数字n#include#include#include#includeusing namespace std;const int N=30009;int a[N],u[N],m,n;int ma...
阅读全文
摘要:题意: 给出m行,每行n个数,每次从一行中选择一个数,这m个数求和。所有的方案数是n^m,问这些方案中和最小的n个? 分析: 这题有点桶排序和滑动窗口的意思,还是挺不错的一道题。因为要最小的n个和,所以可以用优先队列去维护最小的n个和,这n个和是第i行中的元素和前i行的和相加选择的最优的(这又有...
阅读全文
摘要:题意: 输入一个字典,然后查询字典,翻译单词。 分析: 这题以前做过,是Trie树的入门题,当时也用map水过,现在用hash再水一遍。。。 比较好的输入处理: sscanf(str,"%s %s",str1,str2); #include#include#include#includ...
阅读全文
摘要:题意: 给出一些平面上点的坐标,用其中的点做顶点,求其中能组成正方形的个数。 分析: 这题的做法很容易想到,枚举两个点,然后求出正方形另外两个点的坐标,用哈希判断一下是否存在即可(当然也可以排完序后二分)。 思路是简单的,关键是怎么通过正方形的两个点求出另外两点的坐标?可以想到可以枚举正方形...
阅读全文
摘要:题意: 给出ai(i=1~5),求a1 * x1^3+ a2 * x2^3+ a3 * x3^3+ a4 * x4^3+ a5 * x5^3=0在-50到50之间的x的解的个数 分析: 把前三个的和放到hash里,然后枚举后两个的和,查一下hash即可。 这题也可以用map去做。 #i...
阅读全文
摘要:题意: ACM比赛中,共M道题,T个队,pij表示第i队解出第j题的概率 ,问 每队至少解出一题且冠军队至少解出N道题的概率。 分析: 对于需要求得概率比较容易想到: 假设p1为每个队至少解出一题的概率,这个容易算出。 假设p2为每个队至少解出一题但是不超过n-1题的概率 所以最...
阅读全文
摘要:题意: 每个雪花都有六个分支,用六个整数代表,这六个整数是从任意一个分支开始,朝顺时针或逆时针方向遍历得到的。输入多个雪花,判断是否有形状一致的雪花存在。 分析: 简单的哈希,用取余法保存和相同的雪花,然后在判断雪花的各边即可。简单起见,用vector保存。链表麻烦点。 #include#...
阅读全文
摘要:题意: n头牛站一排,每个牛有k个属性,每个属性有两种取值:1或0。(1表示拥有该属性,0表示没有)要求找一个牛的最长连续队伍(子段),这个队伍中拥有每个属性的牛的个数相同。 分析: 这题快要我WA哭了,总是WA,还不是超时,然而我又找不出错误,对着下面的博客对拍代码,终于发现了QAQ。(下面注...
阅读全文
摘要:题意: 给几个发电站,给几个消耗站,再给几个转发点。 发电站只发电,消耗站只消耗电,转发点只是转发电,再给各个传送线的传电能力。 问你消耗站能获得的最多电是多少。 思路:这题建图是比较显然的,超源点和发电战之间连边,容量是发电量,消耗站和超汇点之间连边,容量是消耗量,然后输电线本来就是边,这样就...
阅读全文
摘要:题意: 有一些机器用来构成一个组装电脑的生产线,每台机器对输入机器的电脑有要求,符合要求的电脑被送入机器后会输出一台规定配件情况的电脑。而且分别告知每台机器在单位时间内处理电脑的台数。将这些机器连成一个生产线,使得单位时间内出产的完整的电脑数量最多,完整的电脑就是具有所有配件的电脑。输出单位时...
阅读全文
摘要:题意: 给定一个地图,*代表城市,o代表空地,用天线来覆盖相邻的两个城市,问最少需要多少天线?(所谓相邻是指上下左右4个方向相邻)n#include#include#include#include#include#include#include#includeusing namespace st...
阅读全文
摘要:题意: 给定一组字母的大小关系判断他们是否能组成唯一的拓扑序列。是典型的拓扑排序,但输出格式上确有三种形式: 1.该字母序列有序,并依次输出; 2.该序列不能判断是否有序; 3.该序列字母次序之间有矛盾,即有环存在。 分析: 每次加入一条边,进行一次拓扑排序,判断是否可以唯一确...
阅读全文
摘要:题目:点击打开链接 这题好坑啊,WA了一下午,到最后发现读错题了QAQ,如果理解了题意,那就是简单的拓扑排序了。 题意:n个重量为1~n的球,给定一些编号间的重量比较关系,现在给每个球编号,在符合条件的前提下使得编号小的球重量小。(先保证1号球最轻,其次2号……) 分析:拓扑排序,注意根据题...
阅读全文
摘要:题意: 问母串中至少去掉多少个字母才能是刚好由单词表中的一些单词连接而成的。 分析:dp,f[i]表示母串从第i位起始的后缀所对应的最少去掉字母数。 f[i]有两种选择f[i + 1] + 1或者f[i + num] + num - strlen(word[j])。其中num是从第i位开始匹配wor
阅读全文
摘要:题意: 有一个n*m的图,有S,A,#和空格,S可以到达A并且使A变成S,然后这个S又可以去侵染别的A,问A都变成S需要多少步? 分析: 题目相当于求出S和A构成的最小生成树。首先把S和A找出来,枚举每个S和A,然后bfs求一下单点到其他点的最短距离,然后套prim模板就行。 这题有个特别坑...
阅读全文
摘要:题意: A青蛙要去B青蛙所在的石头,湖面上共有n个石头,A在0,B在1,A到B可以跳到其它石头上,要求到B的路程中,跳的最远的一次?使这个最大距离最小。 分析: 虽然在最短路的题目里看到这个题,不过读完题我就想到了二分答案+并查集判联通,二分最大距离,然后把不大于这个距离的边的两点放到一个集合里...
阅读全文
摘要:题目大意是说有N个物品,每个物品都有自己的价格,但同时某些物品也可以由其他的(可能不止一个)替代品,这些替代品的价格比较“优惠”,问怎么样选取可以让你的花费最少来购买到物品1 由于有N个物品,我们就可以把它们看作是N个点,从其他点到他的优惠关系视做边,又因为最后总是要找到物品1,然后由于题目是说...
阅读全文
摘要:有多种汇币,汇币之间可以交换,这需要手续费,当你用100A币 交换B币时,A到B的汇率是29.75,手续费是0.39,那么你可以得到 (100 - 0.39) * 29.75 = 2963.3975 B币。问s币的金额经过交换最终 得到的s币金额数能否增加 货币的交换是可以重复多次...
阅读全文
摘要:题目:点击打开链接 题意: 给出图(最大40*40),#是障碍物不能走,问下面三种从S到达E的路径长度?1》每次优先选择左手边。2》每次优先选择右手边。3》最短路。 分析: 最短路简单,裸的bfs。 优先选择左边的路径,因为要从左手便开始选择,所以要知道当前位置的朝向,如果现在面朝北,那么现在...
阅读全文
摘要:题意: Marlin去找困在迷宫中的Nemo,墙壁不可以穿过,但是墙上的门可以穿过,问Marlin最少穿过几扇门可以找到Nemo,无法到达输出-1. 分析: 这题比较麻烦的地方是怎么判断格子的一条边是墙壁还是门还是什么都没有。为了区别是哪条边,我用一个80000的g数组去判断,给每条边一...
阅读全文
摘要:题意:给出有n个点的树,有q次询问某个点的重心是什么? Input The first line of the input contains two integers n and q (2 ≤ n ≤ 300 000, 1 ≤ q ≤ 300 000) — the size of the ...
阅读全文
摘要:DescriptionLimak is a little polar bear. He plays by building towers from blocks. Every block is a cube with positive integer length of side....
阅读全文