E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
C++;MFC;
【bzoj 2241】【SDOI2011】打地鼠 题解&代码(
C++
)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2241题解:接近于暴力,在暴力之上加一些优化,首先我们发现如果r×c的锤子不能达到要求时,(2×r)×c以及r×(2×c)就不能达到要求,以此类推(3×r)×c。。。。的锤子都不行,那么我们可以预先处理一下r=1或c=1的情况,最后枚举r,c的时候,可以剪枝,还有我们发现总的地鼠数sum必须
deritt
·
2016-04-14 08:28
oi之路
DERIT的博客专栏
【bzoj 2241】【SDOI2011】打地鼠 题解&代码(
C++
)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2241题解:接近于暴力,在暴力之上加一些优化,首先我们发现如果r×c的锤子不能达到要求时,(2×r)×c以及r×(2×c)就不能达到要求,以此类推(3×r)×c。。。。的锤子都不行,那么我们可以预先处理一下r=1或c=1的情况,最后枚举r,c的时候,可以剪枝,还有我们发现总的地鼠数sum必须
deritt
·
2016-04-14 08:28
oi之路
DERIT的博客专栏
【bzoj 2241】【SDOI2011】打地鼠 题解&代码(
C++
)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2241题解:接近于暴力,在暴力之上加一些优化,首先我们发现如果r×c的锤子不能达到要求时,(2×r)×c以及r×(2×c)就不能达到要求,以此类推(3×r)×c。。。。的锤子都不行,那么我们可以预先处理一下r=1或c=1的情况,最后枚举r,c的时候,可以剪枝,还有我们发现总的地鼠数sum必须
DERITt
·
2016-04-14 08:00
优化
暴力
【bzoj 2241】【SDOI2011】打地鼠 题解&代码(
C++
)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2241题解:接近于暴力,在暴力之上加一些优化,首先我们发现如果r×c的锤子不能达到要求时,(2×r)×c以及r×(2×c)就不能达到要求,以此类推(3×r)×c。。。。的锤子都不行,那么我们可以预先处理一下r=1或c=1的情况,最后枚举r,c的时候,可以剪枝,还有我们发现总的地鼠数sum必须
DERITt
·
2016-04-14 08:00
优化
暴力
【poj 1925】Spiderman 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1925题意:输入K组数据,每组数据输入n个柱子的信息,每个柱子信息为x坐标和高度h,蜘蛛侠需要从第一的柱子通过不断荡蛛丝荡到最后一个柱子,荡的规则:1.蜘蛛侠不会撞到柱子上,假如他在高度为h的位置j通过柱子i前进,那么它会直接荡到同样高度为h位置为x[i]+x[i]-j的位置上,不会受中间柱子的阻挡(x[i]表示柱子i的x坐标)2.蜘
deritt
·
2016-04-12 20:15
oi之路
poj
【poj 1925】Spiderman 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1925题意:输入K组数据,每组数据输入n个柱子的信息,每个柱子信息为x坐标和高度h,蜘蛛侠需要从第一的柱子通过不断荡蛛丝荡到最后一个柱子,荡的规则:1.蜘蛛侠不会撞到柱子上,假如他在高度为h的位置j通过柱子i前进,那么它会直接荡到同样高度为h位置为x[i]+x[i]-j的位置上,不会受中间柱子的阻挡(x[i]表示柱子i的x坐标)2.蜘
deritt
·
2016-04-12 20:15
oi之路
poj
【poj 1925】Spiderman 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1925题意:输入K组数据,每组数据输入n个柱子的信息,每个柱子信息为x坐标和高度h,蜘蛛侠需要从第一的柱子通过不断荡蛛丝荡到最后一个柱子,荡的规则:1.蜘蛛侠不会撞到柱子上,假如他在高度为h的位置j通过柱子i前进,那么它会直接荡到同样高度为h位置为x[i]+x[i]-j的位置上,不会受中间柱子的阻挡(x[i]表示柱子i的x坐标)2.蜘
DERITt
·
2016-04-12 20:00
dp
poj
【poj 2948】Martian Mining 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=2948题意:NASA在火星发现了一个矿场矩阵。矩阵中的每个单元格都有两种矿Yeyenum和Bloggium。我们知道每个单元格中这两种矿的数量。NASA决定在北边建造Bloggium的矿石精炼厂,在西边建造Yeyenum的矿石精炼厂。于是需要我们把bloggium矿石向北运,把Yeyenum矿石向西运。但由于矿石的不稳定在建造传送带时
deritt
·
2016-04-12 16:15
oi之路
poj
【poj 2948】Martian Mining 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=2948题意:NASA在火星发现了一个矿场矩阵。矩阵中的每个单元格都有两种矿Yeyenum和Bloggium。我们知道每个单元格中这两种矿的数量。NASA决定在北边建造Bloggium的矿石精炼厂,在西边建造Yeyenum的矿石精炼厂。于是需要我们把bloggium矿石向北运,把Yeyenum矿石向西运。但由于矿石的不稳定在建造传送带时
deritt
·
2016-04-12 16:15
oi之路
poj
【poj 2948】Martian Mining 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=2948题意:NASA在火星发现了一个矿场矩阵。矩阵中的每个单元格都有两种矿Yeyenum和Bloggium。我们知道每个单元格中这两种矿的数量。NASA决定在北边建造Bloggium的矿石精炼厂,在西边建造Yeyenum的矿石精炼厂。于是需要我们把bloggium矿石向北运,把Yeyenum矿石向西运。但由于矿石的不稳定在建造传送带时
DERITt
·
2016-04-12 16:00
dp
poj
【poj 3280】 Cheapest Palindrome 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=3280题意:给出一个字符串,要求将其修改成一个回文字符串,给出修改某种字母(添加或删除)的价值,求最小使其成为回文字符串的价值。题解:感觉是求最长回文子序列的变形,然而刚开始想着用类似于求最长回文子序列的方法,将字符串反转后与原字符串匹配最长公共子序列,在匹配的过程中来进行dp转移,但发现这样不行,因此还是借鉴了网上的方法用dp[i]
DERITt
·
2016-04-12 15:00
dp
poj
【poj 1054】The Troublesome Frog 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1054题意:当青蛙经过农田时的痕迹是一条直线。农田里的植物就在这个农田的二维坐标系的整数格点上。如果某只青蛙经过农田,也就是某条直线穿过农田。那么那条直线经过的所有的整数格点上的植物必须都被破坏掉。现在给出所有被破坏的植物的位置,求破坏最多的青蛙破话了多少个,如果这个数字小于3则输出0。题解:暴力可以过代码:#include #inc
DERITt
·
2016-04-12 09:00
poj
暴力
【poj 1191】棋盘分割 题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1191题解:这道题黑书上有,网上题解也很多,他们成功的把方差的公式化为了S^2=(∑(xi^2))/n-(x)^2;(s为方差,xi为分割出来的第i个矩形的分值,n为矩形的个数,x为平均值),加入我们用dp[n][x1][y1][x2][y2]来表示左上角为(x1,y1),右下角为(x2,y2)的矩形被分割成n个时的s^2那么最终的答
deritt
·
2016-04-12 07:50
oi之路
poj
DERIT的博客专栏
【poj 1191】棋盘分割 题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1191题解:这道题黑书上有,网上题解也很多,他们成功的把方差的公式化为了S^2=(∑(xi^2))/n-(x)^2;(s为方差,xi为分割出来的第i个矩形的分值,n为矩形的个数,x为平均值),加入我们用dp[n][x1][y1][x2][y2]来表示左上角为(x1,y1),右下角为(x2,y2)的矩形被分割成n个时的s^2那么最终的答
DERITt
·
2016-04-12 07:00
dp
poj
【poj 1191】棋盘分割 题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1191题解:这道题黑书上有,网上题解也很多,他们成功的把方差的公式化为了S^2=(∑(xi^2))/n-(x)^2;(s为方差,xi为分割出来的第i个矩形的分值,n为矩形的个数,x为平均值),加入我们用dp[n][x1][y1][x2][y2]来表示左上角为(x1,y1),右下角为(x2,y2)的矩形被分割成n个时的s^2那么最终的答
DERITt
·
2016-04-12 07:00
dp
poj
【poj 1691】Painting A Board 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1691题意:输入T表示T组数据:输出n表示有n个矩形:接下来n行,每行五个数分,y1,x1,y2,x2,c分别表示其左上角坐标和右下角坐标,坐标系按题上所给建立,c表示这个矩形期望得到的颜色。要求给每个矩形都染上自己期望的颜色,染色规则为:能给某个矩形染色当且仅当此矩形上方的所有矩形均已染色,染色时一旦染色必须是给整块矩形染色,问最少
deritt
·
2016-04-11 14:30
oi之路
poj
【poj 1691】Painting A Board 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1691题意:输入T表示T组数据:输出n表示有n个矩形:接下来n行,每行五个数分,y1,x1,y2,x2,c分别表示其左上角坐标和右下角坐标,坐标系按题上所给建立,c表示这个矩形期望得到的颜色。要求给每个矩形都染上自己期望的颜色,染色规则为:能给某个矩形染色当且仅当此矩形上方的所有矩形均已染色,染色时一旦染色必须是给整块矩形染色,问最少
DERITt
·
2016-04-11 14:00
poj
DFS
【poj 3373】Changing Digits 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=3373题意:给出2个整数n(n#include#include#includeusingnamespacestd;intlen,n,k,a[100];intomo[110][110],dp[110][1005];charss[110];intnow[110];intdfs(ints,intpos,intm){if(m==0){for(
deritt
·
2016-04-11 09:21
oi之路
poj
DERIT的博客专栏
【poj 3373】Changing Digits 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=3373题意:给出2个整数n(n #include #include #include usingnamespacestd; intlen,n,k,a[100]; intomo[110][110],dp[110][1005]; charss[110]; intnow[110]; intdfs(ints,intpos,intm) { if
DERITt
·
2016-04-11 09:00
搜索
poj
【poj 3373】Changing Digits 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=3373题意:给出2个整数n(n #include #include #include usingnamespacestd; intlen,n,k,a[100]; intomo[110][110],dp[110][1005]; charss[110]; intnow[110]; intdfs(ints,intpos,intm) { if
DERITt
·
2016-04-11 09:00
搜索
poj
【poj 2286】The Rotation Game 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=2286题意:刚开始给出如图所示的一个井字形棋盘,每个棋盘上放有一个数,这个数一定是1,2,3中的一个,按图所示给列标号,现在有8种操作,每种操作分别为ABCDEFGH对应图中标号,每次操作相当于将这一列往标号的方向滚动一格,题上图示为先操作A,再操作C,问最少几次操作使得中心的8个格子数字相同,输出最后中心的数字,输出操作方式,不用操
deritt
·
2016-04-08 10:47
poj
IDA-搜索
oi之路
poj
DERIT的博客专栏
【poj 2286】The Rotation Game 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=2286题意:刚开始给出如图所示的一个井字形棋盘,每个棋盘上放有一个数,这个数一定是1,2,3中的一个,按图所示给列标号,现在有8种操作,每种操作分别为ABCDEFGH对应图中标号,每次操作相当于将这一列往标号的方向滚动一格,题上图示为先操作A,再操作C,问最少几次操作使得中心的8个格子数字相同,输出最后中心的数字,输出操作方式,不用操
DERITt
·
2016-04-08 10:00
poj
IDA-搜索
【poj 2286】The Rotation Game 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=2286题意:刚开始给出如图所示的一个井字形棋盘,每个棋盘上放有一个数,这个数一定是1,2,3中的一个,按图所示给列标号,现在有8种操作,每种操作分别为ABCDEFGH对应图中标号,每次操作相当于将这一列往标号的方向滚动一格,题上图示为先操作A,再操作C,问最少几次操作使得中心的8个格子数字相同,输出最后中心的数字,输出操作方式,不用操
DERITt
·
2016-04-08 10:00
poj
IDA-搜索
【poj 2331】Water pipe 题意&题解&代码(
C++
)
题目链接http://poj.org/problem?id=2331题意:给出n种管子不同长度的管子,每种管子都有一定的数量且只能横着或竖着放,问最少使用多少个管子可以使得管子从起点连接到终点。题解:IDA*算法的第一题,它的优化在于预先处理出一个估价函数h[i],表示不考虑任何限制的情况下(在本题中即使用任意数量的管子),i位置到达终点所要耗费的最少管子数,此时每当我们搜到一定程度时,用当前搜到
deritt
·
2016-04-08 07:00
oi之路
poj
DERIT的博客专栏
【poj 2331】Water pipe 题意&题解&代码(
C++
)
题目链接http://poj.org/problem?id=2331题意:给出n种管子不同长度的管子,每种管子都有一定的数量且只能横着或竖着放,问最少使用多少个管子可以使得管子从起点连接到终点。题解:IDA*算法的第一题,它的优化在于预先处理出一个估价函数h[i],表示不考虑任何限制的情况下(在本题中即使用任意数量的管子),i位置到达终点所要耗费的最少管子数,此时每当我们搜到一定程度时,用当前搜到
DERITt
·
2016-04-08 07:00
搜索
poj
IDA
【bzoj 2433】【NOI 2011】 智能车比赛 题意&题解&代码(
C++
)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2433题解:因为矩形已经给出并且根据常识,走直线一定比走曲线短,因此,路线要么是直线,要么是折线且如果是折线的话,折点一定在矩形的顶点处,这样的话,我们可以将整个赛道抽象成有若干个点的连通图,联通图上每个点一定为赛道的拐点或起始点或终点,这样的话,一个点与通过直线可到达的其他点的距离就可以O
deritt
·
2016-04-07 16:43
oi之路
DERIT的博客专栏
【bzoj 2433】【NOI 2011】 智能车比赛 题意&题解&代码(
C++
)
题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=2433题解:因为矩形已经给出并且根据常识,走直线一定比走曲线短,因此,路线要么是直线,要么是折线且如果是折线的话,折点一定在矩形的顶点处,这样的话,我们可以将整个赛道抽象成有若干个点的连通图,联通图上每个点一定为赛道的拐点或起始点或终点,这样的话,一个点与通过直线可到达的其他点的距离就可以O
DERITt
·
2016-04-07 16:00
NOI
bzoj
C++
作业3
项目1:个人所得税计算器#include usingnamespacestd; intmain() { doubledSalary,dTax=0,dNetIncome=0,dValue; cout>dSalary;//下面求解应缴个人所和税dTax和税后收入dNetIncome dValue=dSalary-3500; if(dValue80000)dTax=dValue*0.45-13505.0
listentotherain
·
2016-04-07 10:00
【poj 1724】ROADS 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1724题意:给出总钱数pay(题上的K),再给出总点数n,总边数m。接下来输入m条边,每条边都是单向边,每条边有四个信息a,b,l,c。表示从a到b有一条边长为l,过路费为c的边。每过一条边都要交过路费,若当前总钱数小于过路费,则不能走,问从1走到n的最短路(距离最短,花费在总钱数以内)。题解:第一次写dijkstra,感觉很神奇,也
deritt
·
2016-04-07 08:29
oi之路
poj
DERIT的博客专栏
【poj 1724】ROADS 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1724题意:给出总钱数pay(题上的K),再给出总点数n,总边数m。接下来输入m条边,每条边都是单向边,每条边有四个信息a,b,l,c。表示从a到b有一条边长为l,过路费为c的边。每过一条边都要交过路费,若当前总钱数小于过路费,则不能走,问从1走到n的最短路(距离最短,花费在总钱数以内)。题解:第一次写dijkstra,感觉很神奇,也
deritt
·
2016-04-07 08:29
oi之路
poj
DERIT的博客专栏
【poj 1724】ROADS 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1724题意:给出总钱数pay(题上的K),再给出总点数n,总边数m。接下来输入m条边,每条边都是单向边,每条边有四个信息a,b,l,c。表示从a到b有一条边长为l,过路费为c的边。每过一条边都要交过路费,若当前总钱数小于过路费,则不能走,问从1走到n的最短路(距离最短,花费在总钱数以内)。题解:第一次写dijkstra,感觉很神奇,也
DERITt
·
2016-04-07 08:00
poj
最短路
【poj 1699】Best Sequence 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1699题意:给出T组数据,每组数据n个字符串,要求将它按题示图片的方法组合成一个最短的字符串,求出这个最短的字符串的长度。题解:预处理两两相接时的最长重合长度,然后裸地暴搜,剪枝就是当前长度大于等于已经搜到的最优答时,就不搜了。代码:#include#include#include#includeusingnamespacestd;i
deritt
·
2016-04-06 19:03
oi之路
poj
DERIT的博客专栏
【poj 1699】Best Sequence 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1699题意:给出T组数据,每组数据n个字符串,要求将它按题示图片的方法组合成一个最短的字符串,求出这个最短的字符串的长度。题解:预处理两两相接时的最长重合长度,然后裸地暴搜,剪枝就是当前长度大于等于已经搜到的最优答时,就不搜了。代码:#include#include#include#includeusingnamespacestd;i
deritt
·
2016-04-06 19:03
oi之路
poj
DERIT的博客专栏
【poj 1699】Best Sequence 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1699题意:给出T组数据,每组数据n个字符串,要求将它按题示图片的方法组合成一个最短的字符串,求出这个最短的字符串的长度。题解:预处理两两相接时的最长重合长度,然后裸地暴搜,剪枝就是当前长度大于等于已经搜到的最优答时,就不搜了。代码:#include #include #include #include usingnamespaces
DERITt
·
2016-04-06 19:00
poj
DFS
【poj 2892】Tunnel Warfare 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=2892题意:【题意】有n个村庄进行m次操作,有三种操作Dx:表示摧毁一个村庄Qx:表示查询一个村庄左右连续的存在的村庄个数,若该村庄不存在为0R:表示修复上一个被摧毁的村庄【输入】第一行n,m接下来m行每行表示一个命令【输出】对于每次查询输出答案题解:每次二分查找从x向左的第一个被摧毁的村庄位置,两边二分,需要用树状数组或线段树维护区
deritt
·
2016-04-06 10:23
oi之路
poj
【poj 2892】Tunnel Warfare 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=2892题意:【题意】有n个村庄进行m次操作,有三种操作Dx:表示摧毁一个村庄Qx:表示查询一个村庄左右连续的存在的村庄个数,若该村庄不存在为0R:表示修复上一个被摧毁的村庄【输入】第一行n,m接下来m行每行表示一个命令【输出】对于每次查询输出答案题解:每次二分查找从x向左的第一个被摧毁的村庄位置,两边二分,需要用树状数组或线段树维护区
DERITt
·
2016-04-06 10:00
二分查找
poj
【poj 1182】 食物链 题解&代码(
C++
)
经典的并查集关系类问题,还是类似poj1703的方法,用x+n表示x所吃的集合,用x+2×n表示吃x的集合,然后用并查集连连连就行。。。#include #include #include usingnamespacestd; intfa[509999]; inlinevoidchushihua(intn) { for(inti=1;in||c>n||(a==2&&b==c)||b<=0||c<=
WilliamCode
·
2016-04-06 08:00
poj
【poj 2352】Stars 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=2352题意:在坐标上有n个星星,如果某个星星坐标为(x,y),它的左下位置为:(x0,y0),x0#include#include#include#definemaxn(15005)usingnamespacestd;intn,m,num[32005],vis[15005];intlowbit(intx){returnx&(-x);}
deritt
·
2016-04-06 08:18
oi之路
poj
DERIT的博客专栏
【poj 2352】Stars 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=2352题意:在坐标上有n个星星,如果某个星星坐标为(x,y),它的左下位置为:(x0,y0),x0 #include #include #include #definemaxn(15005) usingnamespacestd; intn,m,num[32005],vis[15005]; intlowbit(intx) { retur
DERITt
·
2016-04-06 08:00
poj
树状数组
【poj 1182】 食物链 题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1182题解:经典的并查集关系类问题,还是类似poj1703的方法,用x+n表示x所吃的集合,用x+2×n表示吃x的集合,然后用并查集连连连就行。。。代码:#include#include#include#definemaxn(50005)usingnamespacestd;intn,m,fa[4*maxn],ans;voidinit(
deritt
·
2016-04-05 20:50
oi之路
poj
【poj 2492】A Bug's Life 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=2492题意:给出T组数据,每组数据表示有n只虫和m对关系,接下来m行输入(x,y),表示x和y是相爱的异性,若这m对关系中出现了错误,即后给出的关系与之前的关系互相冲突(同性相爱),则输出Suspiciousbugsfound!否则输出Nosuspiciousbugsfound!例:33//三个虫子,三对关系13//1和3是异性23/
deritt
·
2016-04-05 19:15
oi之路
poj
【poj 2492】A Bug's Life 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=2492题意:给出T组数据,每组数据表示有n只虫和m对关系,接下来m行输入(x,y),表示x和y是相爱的异性,若这m对关系中出现了错误,即后给出的关系与之前的关系互相冲突(同性相爱),则输出Suspiciousbugsfound!否则输出Nosuspiciousbugsfound!例:33//三个虫子,三对关系13//1和3是异性23/
DERITt
·
2016-04-05 19:00
poj
并查集
【poj 1703】Find them, Catch them 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1703题意:输入T表示有T组数据,每组数据输入n,m,表示有n个人,m次询问,每次询问有两种,输入D(x,y)表示x与y为敌对关系,输入A(x,y)表示询问x与y是什么关系,共有三种,1.朋友(敌人的敌人是朋友),2.敌人,3.不确定。题解:开一些虚点来存敌人,通俗一点就是把x的敌人用并查集全部并在x+n这个点上。代码:#includ
deritt
·
2016-04-05 16:40
oi之路
poj
【poj 1703】Find them, Catch them 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1703题意:输入T表示有T组数据,每组数据输入n,m,表示有n个人,m次询问,每次询问有两种,输入D(x,y)表示x与y为敌对关系,输入A(x,y)表示询问x与y是什么关系,共有三种,1.朋友(敌人的敌人是朋友),2.敌人,3.不确定。题解:开一些虚点来存敌人,通俗一点就是把x的敌人用并查集全部并在x+n这个点上。代码:#includ
deritt
·
2016-04-05 16:40
oi之路
poj
【poj 1703】Find them, Catch them 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1703题意:输入T表示有T组数据,每组数据输入n,m,表示有n个人,m次询问,每次询问有两种,输入D(x,y)表示x与y为敌对关系,输入A(x,y)表示询问x与y是什么关系,共有三种,1.朋友(敌人的敌人是朋友),2.敌人,3.不确定。题解:开一些虚点来存敌人,通俗一点就是把x的敌人用并查集全部并在x+n这个点上。代码:#includ
DERITt
·
2016-04-05 16:00
poj
并查集
【poj 1195】Mobile phones 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1195题意:每行第一个数,如果为0,后面一个数字s,表示给出一个s*s的矩阵,初始化为均为0,如果为1:(XYA)对位于坐标(XY)的值加A;如果为2:(LBRT)求出位于L#include#include#includeusingnamespacestd;intnum[1050][1050],s;intlowbit(intx){re
deritt
·
2016-04-05 16:04
oi之路
poj
DERIT的博客专栏
【poj 1195】Mobile phones 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1195题意:每行第一个数,如果为0,后面一个数字s,表示给出一个s*s的矩阵,初始化为均为0,如果为1:(XYA)对位于坐标(XY)的值加A;如果为2:(LBRT)求出位于L#include#include#includeusingnamespacestd;intnum[1050][1050],s;intlowbit(intx){re
deritt
·
2016-04-05 16:04
oi之路
poj
DERIT的博客专栏
【poj 1195】Mobile phones 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=1195题意:每行第一个数,如果为0,后面一个数字s,表示给出一个s*s的矩阵,初始化为均为0,如果为1:(XYA)对位于坐标(XY)的值加A;如果为2:(LBRT)求出位于L #include #include #include usingnamespacestd; intnum[1050][1050],s; intlowbit(in
DERITt
·
2016-04-05 16:00
poj
树状数组
【poj 3321】Apple Tree 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=3321题意:给你一颗n个节点的树,每个节点开始有一个苹果,然后m次修改,每次修改使得某个节点的苹果改变,有变成没有,没有变成有。询问的是某个节点及其子树的苹果数目。题解:dfs序之后,单点修改区间查询,线段树与树状数组都可以。普通的vector在这道题中迷之超时,加了个typedef后就不超时了,真是神奇,手写边表的话应该没什么问题。
deritt
·
2016-04-05 15:26
oi之路
poj
DERIT的博客专栏
【poj 3321】Apple Tree 题意&题解&代码(
C++
)
题目链接:http://poj.org/problem?id=3321题意:给你一颗n个节点的树,每个节点开始有一个苹果,然后m次修改,每次修改使得某个节点的苹果改变,有变成没有,没有变成有。询问的是某个节点及其子树的苹果数目。题解:dfs序之后,单点修改区间查询,线段树与树状数组都可以。普通的vector在这道题中迷之超时,加了个typedef后就不超时了,真是神奇,手写边表的话应该没什么问题。
deritt
·
2016-04-05 15:26
oi之路
poj
DERIT的博客专栏
上一页
2
3
4
5
6
7
8
9
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他