自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Fighting!

欲戴皇冠,必承其重!

  • 博客(27)
  • 资源 (13)
  • 收藏
  • 关注

原创 hdu 1452 Happy 2004 找循环节

hdu 1452 Happy 2004 找循环节题目链接:hdu 1452 Happy 2004 题意:求2004^X 约数之和S与29取模的结果。分析:2004 = 2 * 2 * 3 * 167, 2004^x = 2^(2x) * 3^x * 167^x, 求约数之和S ,我们可以构造多项式:S=(2^0+2^1+...+2^(2x)) * (3^0+3^1+...+3^x) *

2016-07-31 21:11:10 584

原创 思维题:抽屉原理 hdu 5776 sum & 51Nod 1103 N的倍数

思维题:抽屉原理 hdu 5776 sum & 51Nod 1103 N的倍数题目链接:  hdu 5776 sum、 51nod 1103 N的倍数hdu5576 sum题意:给定长度为N的整数序列,问该序列是否存在一个连续的子区间的和为M的倍数。 (1≤n≤100000, 1≤m≤5000).51nod 1103 N的倍数 题意: 一个长度为N的数组A,从A中选出若干个数,

2016-07-31 19:58:26 1257

原创 hdu 5773 The All-purpose Zero 思维转化+nlogn LIS

hdu 5773 The All-purpose Zero 思维转化+nlogn LIS题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5773题意:给定一个长度为N的序列S,(0 0可以变成任意数字(包括负数),求最长上升子序列长度。分析:0可以转化成任意整数,包括负数,显然求LIS时尽量把0都放进去必定是正确的。因此我们可以把0拿出来,

2016-07-30 01:43:06 858

原创 POJ 3694 Network Tarjan求边双连通+LCS+并查集

POJ 3694 Network Tarjan求边双连通+LCS+并查集题目链接:POJ 3694 Network 题意:给定 N个顶点M条边的无向图。N(1 ≤ N ≤ 100,000) and M(N - 1 ≤ M ≤ 200,000). 数据保证图是连通的。 然后Q个操作(Q 思路:这是一道很有意思的题目!首先对原图进行边双连通缩点,求出DAG,因为初始的无向图是连通的,那么求

2016-07-26 03:14:18 2498

原创 hdu 4635 Strongly connected Kosaraju/Tarjan求强联通分量大小

hdu 4635 Strongly connected  Kosaraju求强联通分量题目链接: hdu 4635 Strongly connected题意: 给定N个顶点M条边的有向图。问,在保证这个图不是强连通图的情况下,最多可以增加多少条有向边。如果原图本身就是连通的,则输出-1。分析:原图由多个强连通分量构成,要加边尽可能尽可能最多,然后图不是强连通的,我可以这么考虑加边的步骤

2016-07-24 21:22:39 945

原创 Tarjan模板题求割点,桥

UVA - 796 Critical Links Tarjan求割点个数题目链接:Vjudge 题意: 给定N个顶点若干条边, 求割点个数。思路:套用kuangbin大牛的 Tarjan 模板。#include using namespace std;#define FIN freopen("input.txt","r",stdin)#define

2016-07-24 00:54:09 969

原创 POJ 1236 Network of Schools 强联通分量求出度为0的点和入度为0的点的数目

POJ 1236 Network of Schools 强联通分量求出度为0的点和入度为0的点的数目 链接:POJ 1236 Network of Schools 题意:给定N个顶点若干条边的有向图,求:遍历整个图,最少需要多少个顶点作为遍历的根节点;将这个图变成连通图,最少需要添加多少条边?思路:先求强连通分量,缩点。然后第一问就是求缩点之后的DAG中入度为0的点的个数。

2016-07-23 20:54:35 1074

原创 POJ 2186 Popular Cows Kosaraju求强联通分量

POJ 2186 Popular Cows 强联通分量题目链接: POJ 2186 Popular Cows 题意:给定N个顶点M条边的有向图。边具有传递性。如A到B连通,B到C连通,那么A到C也是连通的。求有多少个顶点满足其他所有顶点到该顶点都连通。思路:先求出强联通分量,缩点,强连通分量内所有的点都是相互连通的,然后所有的缩点构成一个DAG(有向无环图),如果图中要存在顶点满足

2016-07-23 13:49:09 817

原创 hdu 2376 Average distance DFS 求树上任意两点距离和

hdu 2376 Average distance DFS 求树上任意两点距离和题目链接:hdu 2376 Average distance题意:标题都已经说明了题意了。求树上任意两点距离和的平均值。分析:分析过程和《 hdu 5723 Abandoned country 最小生成树+DFS》中求树上任意两点距离之和是完全一样的。思路就是先求出每条边两端的点的个数,然后对于每条边,

2016-07-19 20:38:51 3155

原创 hdu 5723 Abandoned country 最小生成树+DFS

hdu 5723 Abandoned country 最小生成树+DFS题目链接:hdu 5723 Abandoned country题意:给定N个顶点M条边的无向图,每条边包含一个权值,权值都各不相同,求最小生成树并求最小生成树上的任意两点之间距离的最小期望。分析:因为边权值各不相同,那么最小生成树是唯一的。那么只需要求最小生成树上的任意两点之间的距离之和除以N*(N-1)/2即可。

2016-07-19 20:15:40 1365

原创 hdu 2157 How many ways?? 矩阵快速幂

hdu 2157 How many ways?? 矩阵快速幂题目链接:hdu 2157 How many ways?? 分析:令M[i][j] = 1 表示从i到j 连通,即i, j经过一个点到达的方案数为1。 那么∑(M[i][k] + M[k][j]), k∈(0, N-1), 就表示i, j经过两个点到达的方案数。即将矩阵M^n就可以求出i, j经过N个点到达的方案数。#incl

2016-07-19 15:24:10 708

原创 CodeForces 678D Iterated Linear Function 矩阵快速幂

CodeForces 678D Iterated Linear Function 矩阵快速幂题目链接:CodeForces 678D Iterated Linear Function 题意:由递推式g(n)=Ag(n-1)+B,g(0)=X;求g(n) % (1e9+)。思路:构造变换矩阵A为{{A, B}, {0, 1}}; 初始矩阵B为{{X, 0}, {1, 0}}; 那么A^N

2016-07-19 11:48:15 1022

原创 nyoj 301 递推求值 矩阵快速幂

nyoj 301 递推求值 矩阵快速幂题目链接:nyoj 301 递推求值 矩阵快速幂分析:初始矩阵为:,那么需要目的矩阵就是:;然后就是构造一个变换矩阵:;然后用矩阵快速幂求解。#include #include #include #include #include #include #include #include #include using

2016-07-19 02:48:30 1247

原创 51Nod 编辑距离 DP+滚动数组

51Nod 编辑距离 DP题目链接:51Nod编辑距离思路:令dp[i][j] 表示 A字符串前i个字符,与B字符串的前j个字符的最小编辑距离。那么有,i = 0 && j == 0 时,dp[i][j] = 0;i = 0 && 0 dp[i][j] = j; j = 0 && 0 dp[i][j] = i;0 if (A[i] == B[j])d

2016-07-18 17:41:09 694

原创 hdu 5652 India and China Origins 并查集+BFS

hdu 5652 India and China Origins 并查集+BFS题目链接: India and China Origins题意:给定N*M的一个地图,1代表障碍物,0代表路,然后在Q个单位时间中,每过一个单位时间,向地图中某点添加一个障碍物,问到哪个时刻,人不能从第一行访问到最后一行。人只可以上下左右移动。如果到了Q时刻还从第一行能访问到最后一行,输出-1。思路1:首先

2016-07-17 14:07:14 1337

原创 51 Nod 1134 最长递增子序列 LIS NlogN 写法

51 Nod 1134 最长递增子序列 LIS NlogN 写法题目链接:51Nod 1134 最长递增子序列 思路:相对N^2的DP 算法, NlogN是对内层循环进行优化。代码中国B数组保存的是A[0]~A[i-1]去重过后的有序的序列。然后通过二分查找进行的优化。#include <cmath>#include <queue>#include <vector>#include <cs

2016-07-16 22:46:54 811

原创 51Nod 1007 正整数分组 01背包

51Nod 1007 正整数分组 01背包题目链接:51Nod 1007 正整数分组。 思路:假定2组分别为集合A,集合B,并且集合A的和SUM(A)小于或等于集合B的和SUM(B)。对于每个数组,只有在A集合和不在A集合(或者是在B集合)的情况。然后可以将题目转化为01背包模型:在[SUM(A)+SUM(B)]/2【PS:这里是整数除法】的容量下,所能取得的最大价值,每个物品的价值和体积都是a[

2016-07-16 21:48:14 757

原创 UVA 11401 Triangle Counting [递推]

UVA 11401 Triangle Counting [递推]题目链接:VJudge 题意:给定N条边,边长分别为1~N,从这N条边中,选出三条边,问能构成三角形的情况有多少种。 思路:dp[i]表示i条边的情况,dp[i]包含了dp[i-1]与最长边为i这两类情况构成。当最长边为i时,另外两条边范围是[2, i-1],我们假定这两条边为a,b。满足条件1#include <cmath>#i

2016-07-16 21:17:00 666

原创 51Nod 1006 最长公共子序列LCS DP水题

题目链接:51 Nod 1006 题意: 求A,B的最长公共子序列并输出。 分析:先求出最长公共子序列的长度,然后再根据最长公共子序列的长度逆序求出最长公共子序列。#include <cmath>#include <queue>#include <vector>#include <cstdio>#include <string>#include <cstring>#include <

2016-07-16 17:10:54 1284

原创 CodeForces 691C Exponential notation 模拟

CodeForces 691C  Exponential notation 模拟题目链接:CodeForces 691C  Exponential notation 模拟题意: 给定一个长度为N的数字,转化为 标准的科学计数法形式。N最大可达1e6。要考虑前置0 和 后置 0 的特殊情况。 当指数为0 的时候,不输出指数部分。纯粹的模拟。分好情况就好了。我分了一下几种情况。输入为x。

2016-07-15 21:35:22 1096

原创 51Nod 1174 求区间最大的数 RMQ

51Nod 1174 求区间最大的数 RMQ题目链接:51Nod 1174在很多情况下, 我们求区间最大最小值都是用朴素的遍历算法,其复杂度是O(N), 当存在多次区间最大最小查询时,若查询次数为Q, 那么算法负责度就是O(Q*N) 。 当查询次数 Q 很大时,我们就需要对算法进行优化了。常见的优化方法有: 使用树状数组或者线段树,或者是使用专门的RMQ算法。RMQ是一种专门用

2016-07-15 18:21:19 1018

原创 codeforces 350B Resort 链表

Codeforces 350B Resort题目链接:VJudge   CodeForces题意: 这个题目关键还是读题。给定的是一个有向图,图中有N个点,每个点的前驱节点只有一个,但是后继节点可以有多个。在这个给定的有向图中,找一个最长的链,这条链满足:该链上所有的点的出度小于等于1;而且终点必须是在若干给定的点集中。思路:首先将与出度大于1的点有关的所有有向边统统删掉。然后从终

2016-07-15 00:37:54 738

原创 ACM 常用几何基本数学公式

ACM常用数学公式1.   海伦公式求面积公式描述:公式中a,b,c分别为三角形三边长,p为半周长,S为三角形的面积。2.   点到直线的距离公式方法一:距离公式直接求      公式描述:公式中的直线方程Ax+By+C=0,点P的坐标为(x0,y0)。但是直线方程不是够直接。推荐使用方法二

2016-07-14 00:45:47 6082

原创 51nod 1459迷宫游戏 Dijkstra堆优化

51nod  1459迷宫游戏  Dijkstra堆优化题目链接:51nod  1459迷宫游戏题意:给定源点和终点, 每经过一个点就会得到该点对应的分数, 每走过一条边,就会增加相应的时间,让你求源点到终点的最短时间以及在该最短时间下的最终最大得分。分析: 依旧还是带权单源点最短路。还是用d[i].first表示从源点到i点的路径长度,用d[i].second表示从源点到i点的得

2016-07-13 14:43:20 824

原创 POJ 1077 Eight 八数码问题[康托展开 + BFS]

POJ 1077 Eight 八数码问题 [康托展开 + BFS]题目链接:Here!对于八数码问题,可能问题的关键不是BFS,而是对状态的标记。八数码的状态恰好是一个全排列,那么对于全排列,康托展开就是一个完美的哈希。康托展开:X=a[n]*(n-1)!+a[n-1]*(n-2)!+...+a[i]*(i-1)!+...+a[1]*0! ,其中a[i]为当前未出现的元素中是排在第几个

2016-07-12 21:15:51 1847

原创 hdu 1254 推箱子 BFS

hdu 1254 推箱子 BFS[含测试数据]题目链接: Here!思路:每次箱子移动之前,肯定都是人先到达箱子相邻的位置上,然后推动箱子移动一步。比如:箱子现在的位置是(x,y),如果箱子需要向(1,0)方向移动,即箱子要移动到(x+1,y),那么肯定需要先让人移动到(x-1,y)的位置上。如果这样每次箱子移动一步之前,就需要检查人是不是能够到达与之相邻的位置。然后需要注意的是B

2016-07-12 20:09:19 1564 1

原创 csu 1774 慷慨的奖励[双向链表]

1774: 慷慨的奖励Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 100  Solved: 5[Submit][Status][Web Board]Description对于csuxushu来说,能够在CSU(California State University)上学是他一生的荣幸,而通过CSU-ACM校队

2016-07-11 01:59:57 1100 2

vim 配置(sublime样式)

vim 配置,含配色,路径补齐,自动补全等功能。 配色美观,类似于sublime。 tar xzvf vim-conf.tar.gz ~/ 即可应用vim样式

2017-12-14

MFC表达式计算器

MFC 实现 可加减乘除,括号,乘方 以及进制转换的 计算器 一、带括号的四则运算以及乘方运算 二、将M进制转化为N进制 博客讲解地址:http://blog.csdn.net/acmore_xiong/article/details/45417987

2017-05-22

代码黑魔法-叉姐(郭晓旭)

代码黑魔法-叉姐(郭晓旭)

2016-12-26

kuangbin 模板

kuangbin 模板

2016-09-08

Consolas 编程字体

2016-09-05

MyBatis3.2.3帮助文档(中文版).chm

MyBatis3.2.3帮助文档(中文版).chm

2016-05-07

mybatis 自动生成代码文件

mybatis 自动生成代码文件

2016-05-07

MyBatis 学习案例

本案例包含MyBatis 项目完整代码,很适合MyBatis 初学者学习参考。 MyBatis 是支持普通 SQL 查询,存储过程和高级映射的优秀持久层框架。MyBatis 消除 了几乎所有的 JDBC 代码和参数的手工设置以及结果集的检索。MyBatis 使用简单的 XML 或注解用于配置和原始映射,将接口和 Java 的 POJOs(Plan Old Java Objects,普通的 Java 对象)映射成数据库中的记录。

2016-05-07

mysql-connector-java-5.1.38

2016-05-02

WampServer下载

WampServer下载, 内有VC2000!亲测可用~

2016-03-26

完备的 算法合集

真的不错的必备算法学习资源!ACM学习必备!内含83个文档,讲解细致!

2015-07-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除