09 2014 档案

摘要:这题说的是给了一个公司员工100000 然后现在又3种操作第一种将y置为x的父亲,第二种操作将文件给第x个人签他签完给他的上司签,一直到没有上司为止,第三种操作问x是否签了第i份文件,然后 我们只要直到每两个点在最后形成的这颗树的位置只有祖先关系第一类 叔叔兄弟和其他的归为另一类,然后我们通过并查... 阅读全文
posted @ 2014-09-29 23:10 来自大山深处的菜鸟 阅读(379) 评论(0) 推荐(0) 编辑
摘要:这题说的给了100000个数有100000次操作 询问 L和R 区间内 在D位上为P的个数,用树状数组存 要开[10][10][100000]的int 开不了但是能开 这么大的unsign short 这样我们将这个树状数组一分为二 50000 个位前面 50000 为后面 我们知道unshort ... 阅读全文
posted @ 2014-09-29 22:31 来自大山深处的菜鸟 阅读(203) 评论(0) 推荐(0) 编辑
摘要:这题说的是给出N,a[1]... a[N],还有M,b[1]... b[M]long long ans = 0;for(int i = 1; i #include #include #include #include using namespace std;typedef long long ll;... 阅读全文
posted @ 2014-09-23 16:37 来自大山深处的菜鸟 阅读(181) 评论(0) 推荐(0) 编辑
摘要:这 题 说 的 是 给 了 一 个 K—NN 每次查询离loc 最近的k个数 然后将这k个数的权值加起来除以k 赋值给 loc 这个位置上的 权值我说说我的做法假如查询的是loc这个位置k个,然后就让L=1R=loc对于每个二分的mid假设mid是这k个数最左的那个的下标然后对于每个最左的下标我们... 阅读全文
posted @ 2014-09-22 18:37 来自大山深处的菜鸟 阅读(191) 评论(0) 推荐(0) 编辑
摘要:这题说的是给了数字的字符串 然后有n种的操作没次将一个数字替换成另一个字符串,求出最后形成的字符串的 数字是多大,我们可以逆向的将每个数推出来,计算出他的值和位数记住位数用10的k次方来记 1位就是10 2位就是100,这样是为了防止当位数很大的时候存不下这样可以直接的进行mod操作#include... 阅读全文
posted @ 2014-09-17 15:13 来自大山深处的菜鸟 阅读(213) 评论(0) 推荐(0) 编辑
摘要:这题说的是给了一个 长度为n(ni-1-flow[i-1][j] 那么可以知道这个点一定在flow[i-1][j] 内出现过 自然最远距离再加1, 如果不成立则他的最远距离就是 flow[i-1][j-1]+1,然后dp[i] 为前多少种颜色合并时花费的代价最小。#include #include ... 阅读全文
posted @ 2014-09-16 13:45 来自大山深处的菜鸟 阅读(513) 评论(0) 推荐(0) 编辑
摘要:hdu2222这题说的是在一个1000000的长串中找出n个短串是否在其中出现过 最后输出在长串中出现的个数#include #include #include #include #include #include using namespace std;const int maxn =10000*... 阅读全文
posted @ 2014-09-11 15:34 来自大山深处的菜鸟 阅读(219) 评论(0) 推荐(0) 编辑
摘要:有40001 个单词每个单词长度不超过1000,每个两个单词之间都要比较求要比较次数int strcmp(char *s,char *t){ int i; for(i = 0; s[i]==t[i]; ++i) if(s[i]=='\0') return 0; return s[i]-... 阅读全文
posted @ 2014-09-10 17:43 来自大山深处的菜鸟 阅读(211) 评论(0) 推荐(0) 编辑
摘要:这题说的是给了一个长的字符串长度最大300000,又给了4000个单词 单词的长度不超过100.计算这个字符串能组成多少种不同单词的组合,求出方案总数。dp[i]以第i个字符为开始的字符串能有多少种的组成方案,这样每次去比较肯定是会超时的,然后可以用Trie树去优化,这样最多枚举100位种比4000... 阅读全文
posted @ 2014-09-10 17:02 来自大山深处的菜鸟 阅读(120) 评论(0) 推荐(0) 编辑
摘要:这题说的是给了k个串算出这k个串的最长公共子序列,这k个串每个串都是由1--n的数字组成的。将第一串的数字按照顺序重新编号为123...n 然后后面的串按照这个编号重新标号,就转化为下面每个串大最长递增子序列的问题,然后我们对于每个串计算出后面比他大的数然后建一条边(用邻接矩阵存)然后可以判断出从a... 阅读全文
posted @ 2014-09-10 14:36 来自大山深处的菜鸟 阅读(193) 评论(0) 推荐(0) 编辑
摘要:这题说的是给了一个序列长度为n 然后求这个序列的严格递增序列长度是m的方案有多少种,如果用dp做那么对于状态有dp[n][m]=dp[10000][100],时间复杂度为n*m*n接受不了那么想想是否可以再这个上加些什么样的优化。树状数组 对于每个值离散在树状数组中然后对于每个点都有以他为结尾点的递... 阅读全文
posted @ 2014-09-09 16:55 来自大山深处的菜鸟 阅读(286) 评论(0) 推荐(0) 编辑
摘要:这题说的是给了一个数在longlong范围内 然后求出小于这个数的最大的回文,枚举每位减去1后 , 他后面的位置上全部都置为9,然后在枚举每个前半部分,然后贪心取得这个数的最大值,贪心的时候写错了,错在这..到枚举到now[loc]#include #include #include using n... 阅读全文
posted @ 2014-09-08 18:18 来自大山深处的菜鸟 阅读(241) 评论(0) 推荐(0) 编辑
摘要:这题说的是给了一个n*m的网格,然后每个格子的点事黑色的或者是白色的然后每个点如图所示 然后只能用白点和图中给出的边建立三角形然后询问三角形的个数有多少个,这样说每个三角形的边必须是图中有的边,然后三角形的边上的点必须全部为白色的点然后计算这样能组成多少个三角形,先对每个点处理好他8个方向所能到达最... 阅读全文
posted @ 2014-09-04 16:06 来自大山深处的菜鸟 阅读(259) 评论(0) 推荐(0) 编辑
摘要:这题说的是 给了一张长方形的纸 1*n 然后可以按照不同的做法去折这个纸张 他有两种操作,操作1 给了一个pi 点 然后将左边的纸往右边折,第2种操作是给了一个L 和 R 然后计算出 L和R 之间的纸如果 切成单位长度有多少块, 开一个标记数组记录方向然后枚举将每位的值复制到相对应的地方,然后用树状... 阅读全文
posted @ 2014-09-01 20:58 来自大山深处的菜鸟 阅读(326) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示