08 2014 档案

摘要:1 /* 2 题意:求出多个全排列的lcs! 3 思路:因为是全排列,所以每一行的每一个数字都不会重复,所以如果有每一个全排列的数字 i 都在数字 j的前面,那么i, j建立一条有向边! 4 最后用bfs遍历整个图,求出源点到每一个点的距离,其中最大的距离就是最长的... 阅读全文
posted @ 2014-08-31 10:18 hjzqyx 阅读(563) 评论(1) 推荐(0) 编辑
摘要:1 /* 2 题意:给你一个n*n的格子,每一个格子都有一个数值!将两只bishops放在某一个格子上, 3 每一个bishop可以攻击对角线上的格子(主对角线和者斜对角线),然后会获得格子上的 4 数值(只能获取一次)。要求输出两个bishops获取的最大值以及它们所在的... 阅读全文
posted @ 2014-08-30 21:28 hjzqyx 阅读(461) 评论(0) 推荐(0) 编辑
摘要:LCA思想:在求解最近公共祖先为问题上,用到的是Tarjan的思想,从根结点开始形成一棵深搜树,非常好的处理技巧就是在回溯到结点u的时候,u的子树已经遍历,这时候才把u结点放入合并集合中,这样u结点和所有u的子树中的结点的最近公共祖先就是u了,u和还未遍历的所有u的兄弟结点及子树中的最近公共祖先就是... 阅读全文
posted @ 2014-08-29 23:20 hjzqyx 阅读(726) 评论(0) 推荐(0) 编辑
摘要:LCA思想:http://www.cnblogs.com/hujunzheng/p/3945885.html在求解最近公共祖先为问题上,用到的是Tarjan的思想,从根结点开始形成一棵深搜树,非常好的处理技巧就是在回溯到结点u的时候,u的子树已经遍历,这时候才把u结点放入合并集合中,这样u结点和所有... 阅读全文
posted @ 2014-08-29 23:14 hjzqyx 阅读(280) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 树形dp! 3 判重思路: 4 当dp[v][0]==dp[v][1]时,很自然,flag[u][0]必然是有两种方案的。flag[u][1]则不然, 5 因为它只和dp[v][0]有关系。而若flag[v][0]不唯一时,则必然flag[u][1]也不唯一 ... 阅读全文
posted @ 2014-08-29 12:40 hjzqyx 阅读(225) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:就是给你一个图,图的每两个点都有多条路径,每一条路径中都有一条最大边, 3 所有最大边的最小边(也就是瓶颈边)就是这两点之间的val值!然后给你一个值f, 4 问有多少个顶点对的val>=f! (u,v) 和 (v, u)是不同的顶点对! 5 6 思路... 阅读全文
posted @ 2014-08-28 22:19 hjzqyx 阅读(433) 评论(0) 推荐(0) 编辑
摘要:1 /************************************************************************* 2 > File Name: j.cpp 3 > Author: HJZ 4 > Mail: 2570230521@qq... 阅读全文
posted @ 2014-08-28 17:27 hjzqyx 阅读(370) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 /* 3 题意:就是寻找从源点到汇点的最大流! 4 要注意的是每两个点的流量可能有多个,也就是说有重边,所以要把两个点的所有的流量都加起来 5 就是这两个点之间的流量了! 6 7 思路:建图之后... 阅读全文
posted @ 2014-08-27 22:30 hjzqyx 阅读(277) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:给出一个无向图,去掉一条权值最小边,使这个无向图不再连同! 3 4 tm太坑了... 5 1,如果这个无向图开始就是一个非连通图,直接输出0 6 2,重边(两个节点存在多条边, 权值不一样) 7 3,如果找到了桥的最小权值为0,... 阅读全文
posted @ 2014-08-26 15:42 hjzqyx 阅读(511) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:给出一串字符(全部是小写字母),添加或删除一个字符,都会产生一定的花费。 3 那么,将字符串变成回文串的最小花费是多少呢? 4 5 思路:如果一个字符串增加一个字符 x可以形成一个回文串,那么从这个字符串中删除这个字符 x 6 同样... 阅读全文
posted @ 2014-08-25 22:44 hjzqyx 阅读(443) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:给你不同面额的硬币(每种硬币无限多),需要找零的面值是T,用这些硬币进行找零, 3 如果T恰好能被找零,输出最少需要的硬币的数目!否则请输出剩下钱数最少的找零方案中的最少硬币数! 4 5 思路:转换成完全背包的问题! 6 */ 7 #incl... 阅读全文
posted @ 2014-08-25 21:12 hjzqyx 阅读(354) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:一个矩阵中有 n*m个宠物,每一个宠物都有一个状态, 1醒着的,0睡着的 3 X离开的!如果这个宠物(醒着的)的周围醒着的个数>3 || 9 #include10 #include11 #include12 using namespace std;13 14 in... 阅读全文
posted @ 2014-08-24 23:23 hjzqyx 阅读(488) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:建立一棵二叉树,左子树和父节点占一个宽度,右子树另外占一个宽度! 3 使任意左右子树交换顺序,使得整个树的宽度最小! 4 思路:递归交换左右子树 ! 开始写的代码复杂了,其实左右子树不用真的交换,只要返回交换与不交换最小的宽度值... 阅读全文
posted @ 2014-08-24 23:14 hjzqyx 阅读(410) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:给一个DAG图,n个节点,每个节点都对应一个值,入度为零的点走到出度为零的点,计算所有可能路径 3 经过节点值的和最大! 4 5 思路:记忆话搜索:也就是如果我们搜索到某一个节点的时候发现该节点已经存在了值,那么直接返回该节点的值! 6 ... 阅读全文
posted @ 2014-08-23 23:43 hjzqyx 阅读(352) 评论(1) 推荐(0) 编辑
摘要:1 /* 2 题意: 有两棵苹果树,每一棵苹果树每一秒间隔的掉落下来一个苹果,一个人在树下接住苹果,不让苹果掉落! 3 人在两棵树之间的移动是很快的!但是这个人移动的次数是有限制的,问最多可以接住多少个苹果! 4 5 思路:dp[i][j]表示的是前 i个苹果掉落... 阅读全文
posted @ 2014-08-23 21:51 hjzqyx 阅读(295) 评论(0) 推荐(0) 编辑
摘要:1 /* 题意: 给你一个图,求这个有向图示否是一个强连通图(每两个节点都是可以相互到达的)! 思路1:按正向边dfs一遍,将经过的节点计数,如果记录的节点的个数小于n,那么就说明图按照正向边就不是连同的,所以就不是强连通图! ... 阅读全文
posted @ 2014-08-22 16:18 hjzqyx 阅读(2426) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意: 物主有一个物品,价值为P,地位为L, 以及一系列的替代品Ti和该替代品所对应的"优惠"Vi 3 g[u][i] 表示的是u物品被i物品替换后的优惠价格!(u>0, i>0) 4 g[u][0]表示不用替换该物品的实际价格 ! 5 d[0]表示的是第一个... 阅读全文
posted @ 2014-08-20 23:18 hjzqyx 阅读(368) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 森林转换成二叉树 3 思路:u的孩子节点为v1, v2, v3....(v1,v2,....互为兄弟节点) 4 那么将u的一个孩子节点(v1)连在u的左子树上,那么其他的孩子节点都连在v1的右子树上! 5 */ 6 #include 7 #incl... 阅读全文
posted @ 2014-08-20 16:36 hjzqyx 阅读(1887) 评论(0) 推荐(1) 编辑
摘要:1,看一下下面程序错误发生在哪一行!class Test implements Runnable{ public void run(Thread t){ }}2,输出结果是什么?class Test{ public static void main(String[] args){ new Th... 阅读全文
posted @ 2014-08-19 20:56 hjzqyx 阅读(454) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:将两端涂有颜色的木棒连在一起,并且连接处的颜色相同! 3 思路:将每一个单词看成一个节点,建立节点之间的无向图!判断是否是欧拉回路或者是欧拉路 4 5 并查集判通 + 奇度节点个数等于2或者0 6 */ 7 #include 8 #include 9... 阅读全文
posted @ 2014-08-19 17:21 hjzqyx 阅读(306) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:单词拼接,前一个单词的末尾字母和后一个单词的开头字母相同 3 思路:将一个单词的开头和末尾单词分别做两个点并建一条有向边!然后判断是否存在欧拉回路或者欧拉路 4 5 再次强调有向图欧拉路或欧拉回路的判定方法: 6 (1)有向图G为欧拉图(存在欧拉回路),当且仅当... 阅读全文
posted @ 2014-08-19 11:57 hjzqyx 阅读(349) 评论(0) 推荐(0) 编辑
摘要:import java.util.concurrent.locks.*;class DuckMsg{ int size;//烤鸭的大小 String id;//烤鸭的厂家和标号 DuckMsg(){ } DuckMsg(int size, Strin... 阅读全文
posted @ 2014-08-18 23:36 hjzqyx 阅读(604) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 下面的程序会出现下面的情况,当Thread-0, Thread-1, Thread-2都被wait的时候,可能会同时苏醒 3 Thread-0 put 4 Thread-1 put 5 Thread-2 put 6 Thread-3 get//在此处,... 阅读全文
posted @ 2014-08-18 23:34 hjzqyx 阅读(473) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:给多个二进制数,对某些数进行按位取反操作! 3 然后从中找到最大数和最小数,并输出他们的差值! 4 注意:所有的数都是整数,包括取反之后 5 6 思路:一个n为二进制数x,令tmp为n位全1!则 y=tmp&(tmp^x)就是取反之后的数字 7... 阅读全文
posted @ 2014-08-18 17:23 hjzqyx 阅读(502) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 #include 3 #include 4 #include 5 #define N 505 6 using namespace std; 7 8 int g[N][N]; 9 int n, m;10 int vis[N], linker[N];11 bool dfs... 阅读全文
posted @ 2014-08-18 14:44 hjzqyx 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2014-08-18 12:03 hjzqyx 阅读(283) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:用木板盖住泥泞的地方,不能盖住草。木板任意长!可以重叠覆盖! '*'表示泥泞的地方,'.'表示草! 3 思路: 4 首先让我们回忆一下HDU 2119 Matrix这一道题,一个矩阵中只有0, 1,然后让我们通过选择一行,或者 5 ... 阅读全文
posted @ 2014-08-17 23:09 hjzqyx 阅读(273) 评论(0) 推荐(0) 编辑
摘要:定义一个PXP的有向图中,路径覆盖就是在图中找一些路径,使之覆盖了图中的所有顶点,且任何一个顶点有且只有一条路径与之关联;(如果把这些路径中的每条路径从它的起始点走到它的终点,那么恰好可以经过图中的每个顶点一次且仅一次);如果不考虑图中存在回路,那么每条路径就是一个弱连通子集.由上面可以得出:1.... 阅读全文
posted @ 2014-08-17 15:58 hjzqyx 阅读(585) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意: 出租车 有一个出发的时间,从点(a, b)到点(c, d),时间为 3 abs(a-c)+abs(b-d)! 一辆车可以在运完一个乘客后运另一个乘客, 4 条件是此车要在预约开始前一分钟之前到达出发地, 问最少需要几辆车 5 搞定所有预约。 6 ... 阅读全文
posted @ 2014-08-17 15:56 hjzqyx 阅读(382) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:n个同学,k个车, 取旅游d天! 3 要求所有的学生没有两个或者两个以上的在同一辆车上共同带d天! 输出可行的方案! 4 5 对于d行n列的矩阵,第i行第j列表示的是第i天第j个同学所在的车号! 6 也就是保证所有行不全相同,即每一列都是不相同的... 阅读全文
posted @ 2014-08-16 21:01 hjzqyx 阅读(473) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:矩阵相乘的最少的步数 3 dp[i][j]=min(dp[i][j], dp[i][k]+dp[k+1][j]+num[i-1]*num[k]*num[j]); 4 表示的是第i个矩阵到第j个矩阵相乘的最少步数 5 sign[i][j]表示的是第... 阅读全文
posted @ 2014-08-15 23:19 hjzqyx 阅读(223) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:就是源点到终点有多条的路径,每一条路径中都有一段最大的距离! 3 求这些路径中最大距离的最小值! 4 5 Dijkstra, Floyd, spfa都是可以的!只不过是将松弛的条件变一下就行了! 6 7 想了一下,这道题用最小... 阅读全文
posted @ 2014-08-15 16:44 hjzqyx 阅读(318) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 注意的事项:是输出小于 10^n的正整数的个数哦!开始的时候总比样例输出多一个数, 3 纠结了好久,原来是 0加了进去了! 4 5 dpI[n][m]表示的是第n位添加数字m(0....9)的构成单调递增数个数 6 dpD[n][m]表示的是第n位添... 阅读全文
posted @ 2014-08-14 23:17 hjzqyx 阅读(443) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:有 n 个站点(编号1...n),每一个站点都有一个能量值,为了不让这些能量值连接起来,要用 3 坦克占领这个站点!已知站点的 之间的距离,每个坦克从0点出发到某一个站点,1 unit distance costs 1 unit oil! 4 最后占... 阅读全文
posted @ 2014-08-14 19:32 hjzqyx 阅读(331) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 这道题如果按照度为0的节点来判断的时候,将度为0的节点和其相连的节点(度数并减去1) 3 从图中去掉,如果度为0的节点的个数为0个但是图中的节点没有都去掉的 时候那么说明 4 出现了回路!用这种方法必须将重边去除掉! 5 6 所以推荐用dfs... 阅读全文
posted @ 2014-08-14 01:02 hjzqyx 阅读(711) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 #include 3 #include 4 #include 5 using namespace std; 6 char map[105][105]; 7 8 int dir[8][2]={0, 1, 1, 0, -1, 0, 0, -1, 1, 1, 1, -1, -... 阅读全文
posted @ 2014-08-13 23:43 hjzqyx 阅读(225) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 bfs搜索!要注意的是点与点的权值是不一样的哦! 3 空地到空地的步数是1, 空地到墙的步数是2(轰一炮+移过去) 4 所以用到优先队列进行对当前节点步数的更新! 5 */ 6 #include 7 #include 8 #include 9 #inc... 阅读全文
posted @ 2014-08-13 19:50 hjzqyx 阅读(244) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:给定一个连通的无向图G,至少要添加几条边,才能使其变为强连通图(指的是边强联通)。 3 思路:利用tarjan算法找出所有的双联通分量!然后根据low[]值的不同将双联通分量 4 进行缩点,最后图形会变成一棵树!也就是添加至少多少条边使一棵树变成强联通图! ... 阅读全文
posted @ 2014-08-13 11:12 hjzqyx 阅读(850) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:N个城市中每两个城市有多条路径连接,可是因为路径存在的天数是有限的!以为某条路经不存在了 3 导致N个城市不能连通了,那么村名们就会抗议!问一共会有多少次抗议! 4 5 思路:最小生成树....我们用最大边来建立树!只要有最大边将节点连接并保证... 阅读全文
posted @ 2014-08-12 09:47 hjzqyx 阅读(379) 评论(0) 推荐(0) 编辑
摘要:/* 思路:多源点,多会点的最短路径! 将最小号-1的节点但最源点,将最大号+1的点当作汇点! 将问题转变成从一个源点到一个汇点的最短路径的问题! 开始忘记初始化vector了,哇了好多次....坑爹啊*/#include#include#include#include#includ... 阅读全文
posted @ 2014-08-11 16:54 hjzqyx 阅读(1638) 评论(0) 推荐(0) 编辑
摘要:1 #include 2 #include 3 #include 4 #include 5 #define M 205 6 #define INF 0x3f3f3f3f 7 using namespace std; 8 9 int map[M][M];10 int d[M], vis[M];11... 阅读全文
posted @ 2014-08-11 14:04 hjzqyx 阅读(293) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 有N个企业,每个企业想要实现通信,要用线路来连接,线路的长度为abs(a-b)%1000; 3 如果企业a 链接到了企业b 那么b就是the center of the serving! 4 然后有两种操作: 5 E a : 输出企业a到serving... 阅读全文
posted @ 2014-08-10 11:14 hjzqyx 阅读(328) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:有N个城市, 每一个城市都有一个龙珠(编号与城市的编号相同),有两个操作 3 T A ,B 将标号为A龙珠所在城市的所有的龙珠移动到B龙珠所在城市中! 4 5 思路:并查集 (压缩路径的时候将龙珠移动的次数进行更新) 6 */ 7 #include... 阅读全文
posted @ 2014-08-10 00:24 hjzqyx 阅读(268) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:这些信息可能有三种情况,分别是"A > B","A = B","A 17 #include 18 #include 19 #include 20 using namespace std; 21 int f[10005]; 22 int rank[10005]; 2... 阅读全文
posted @ 2014-08-09 20:21 hjzqyx 阅读(285) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 NYOJ 99单词拼接: 3 思路:欧拉回路或者欧拉路的搜索! 4 注意:是有向图的!不要当成无向图,否则在在搜索之前的判断中因为判断有无导致不必要的搜索,以致TLE! 5 有向图的欧拉路:abs(In[i] - Out[i])==1(入度[i] -... 阅读全文
posted @ 2014-08-09 01:28 hjzqyx 阅读(418) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题目大意: 3 就是一幢大厦中有0~99的楼层, 然后有1~5个电梯!每个电梯有一定的上升或下降速度和楼层的停止的位置! 4 问从第0层楼到第k层最少经过多长时间到达! 5 6 思路:明显的Dijkstra ,在建图的时候u->v可能... 阅读全文
posted @ 2014-08-08 19:37 hjzqyx 阅读(365) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 The first line of each test case contains 1 8 #include 9 #include10 #include11 #include12 using namespace std;13 14 double x[800], y[800]... 阅读全文
posted @ 2014-08-08 15:12 hjzqyx 阅读(231) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题目大意: 3 从一个点到达另一个点有多条路径,求这多条路经中最大噪音值的最小值! 、 4 5 思路:最多有100个点,然后又是多次查询,想都不用想,Floyd算法走起! 6 */ 7 #include 8 #include 9 #includ... 阅读全文
posted @ 2014-08-08 00:51 hjzqyx 阅读(437) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 10034 - Freckles 3 克鲁斯克尔最小生成树!~ 4 */ 5 #include 6 #include 7 #include 8 #include 9 using namespace std;10 11 struct node{12 double x, y;13... 阅读全文
posted @ 2014-08-08 00:07 hjzqyx 阅读(218) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 一张有20个顶点的图上。 3 依次输入每个点与哪些点直接相连。 4 并且多次询问两点间,最短需要经过几条路才能从一点到达另一点。 5 6 bfs 水过 7 */ 8 #include 9 #include10 #include11 #include12 #include13 usi... 阅读全文
posted @ 2014-08-07 23:34 hjzqyx 阅读(310) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题意:打印欧拉回路! 3 思路:开始时不明白,dfs为什么是后序遍历? 4 因为欧拉回路本身是一条回路,那么我们在dfs时,可能存在提前找到回路,这条回路可能不是欧拉回路, 5 因为没有遍历完成所有的边!如果写成前序遍历的话,存储起来的路径就不是一条... 阅读全文
posted @ 2014-08-06 18:08 hjzqyx 阅读(413) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题目大意:有N个cows, M个关系 3 a->b 表示 a认为b popular;如果还有b->c, 那么就会有a->c 4 问最终有多少个cows被其他所有cows认为是popular! 5 6 思路:强连通分量中每两个节点都是可达的! 通过分... 阅读全文
posted @ 2014-08-06 17:04 hjzqyx 阅读(418) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题目大意:有两个不同的黑帮,开始的时候不清楚每个人是属于哪个的! 3 执行两个操作 4 A a, b回答a, b两个人是否在同一帮派,或者不确定 5 D a, b表示a, b两个人不在同一个帮派 6 7 思路:利用并查集将相同帮派的人合并到一起! 8 ... 阅读全文
posted @ 2014-08-05 16:26 hjzqyx 阅读(291) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 目大意:输入一个数t,表示测试组数。然后每组第一行两个数字n,m,n表示有n只昆虫,编号从1—n,m表示下面要输入m行交配情况,每行两个整数,表示这两个编号的昆虫为异性,要交配。 3 要求统计交配过程中是否出现冲突,即是否有两个同性的昆虫发生交配。 4 5 思路:并查集 6 ... 阅读全文
posted @ 2014-08-05 12:18 hjzqyx 阅读(239) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 本题属于圆周追击问题: 3 假设已知两个圆周运动的物体的周期分别是a ,b, 设每隔时间t就会在同一条直线上 4 在同一条直线上的条件是 角度之差为 PI ! 5 那么就有方程 (2PI/a - 2PI/b)* t=PI 所以就有 t... 阅读全文
posted @ 2014-08-04 22:48 hjzqyx 阅读(415) 评论(0) 推荐(0) 编辑
摘要:/* class Person{ String name; String sex; boolean flag = true; public void setPerson(String name, String sex){ this.sex=sex; this.na... 阅读全文
posted @ 2014-08-04 00:48 hjzqyx 阅读(423) 评论(0) 推荐(0) 编辑
摘要:1 /************************************************************************* 2 > File Name: test.cpp 3 > Author: HJZ 4 > Mail: 257023... 阅读全文
posted @ 2014-08-03 17:02 hjzqyx 阅读(257) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 我们枚举每次选择最大数值的情况:m个数, 投掷n次 3 最大值是1: 1种 4 2: 2^n-1 5 3: 3^n-2^n 6 ..... 7 m: m^n... 阅读全文
posted @ 2014-08-02 09:03 hjzqyx 阅读(227) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 题目大意:给你一个序列,不断地将最后边的数值移动到最前边,问最少经过多少次可以变成一个单调递增的序列! 3 如果不能则输出-1。 4 如果该序列按照不断从后向前移动排序成功,那么该序列要么只有一个单调递增的序列, 5 或者有两段单调递增的序列(1..k 和 k+1..n)... 阅读全文
posted @ 2014-08-02 08:37 hjzqyx 阅读(306) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 中国剩余定理可以描述为: 3 若某数x分别被d1、、…、dn除得的余数为r1、r2、…、rn,则可表示为下式: 4 x=R1r1+R2r2+…+Rnrn+RD 5 其中R1是d2、d3、…、dn的公倍数,而且被d1除,余数为1;(称为R1相对于d1的数论倒数) 6 R1 、 7 R2... 阅读全文
posted @ 2014-08-01 22:42 hjzqyx 阅读(367) 评论(0) 推荐(0) 编辑
摘要:1 /* 2 思路: 3 找到单调下降串的起始位置[l, r] 4 如果左边 0...l-1中的最大值 > l...r中的最小值 或者 5 r+1...n中的最小值 8 #include 9 #include10 using namespace std;11 typed... 阅读全文
posted @ 2014-08-01 22:41 hjzqyx 阅读(209) 评论(0) 推荐(0) 编辑
摘要:这题开始的思路就是模拟:就像数组中插点一样,每一个想买票的人都想往前插队!但是这样的话肯定TLE, 看了别人的思路之后才恍然大悟!正解: 将开始的正序插入,变成倒序插入,这样的话,想一想:第 i 个人想要插在 p[i] 的位置上,那么就要保证所插入的位置之前一定要有 p[i]-1个空位!... 阅读全文
posted @ 2014-08-01 15:41 hjzqyx 阅读(353) 评论(0) 推荐(0) 编辑