自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ONE MORE TRY

把该做的做好就好了!

  • 博客(102)
  • 问答 (2)
  • 收藏
  • 关注

原创 【Codeforces自我陶醉水题篇~】(差17C code....)

Codeforces17A题意: 有一种素数会等于两个相邻的素数相加 如果在2~n的范围内有至少k个这样的素数,就YES,否则就NO; 思路: 采用直接打表,后面判断一下就好了。那个预处理素数表还是满赞的~~ 不多说,上code…………….#include<bits/stdc++.h>#include<string.h>using namespace std;typedef long

2016-07-28 00:31:59 1244

原创 hdoj5301

题意: 有一个n*m的大矩阵, 其中有一个1*1的不要的位置(x,y), 然后用若干个小矩阵去覆盖大矩阵, 不要的不能被覆盖。 问小矩阵中面积最大的面积最小是多少。 思路: 巨巨先画一个矩形,看看那个不要的在边上的时候; 再画个矩形,然后用四个矩阵把那个不要的包起来; 然后画个正方形(奇数),然后把不要的放在最中间。 很简单吧~#include<bits/stdc++.h>//

2016-07-27 19:30:10 377

原创 hdu2476【区间DP,未完待续】

好难搞得东西。。。。 题意都懒得写了,看题解的巨巨莫怪啊,未完待续未完待续,回去睡觉。

2016-07-27 00:18:06 419

原创 POJ1700 【经典过河问题,贪心】

题意: n个人过河, 船每次只能坐两个人, 然后船载每个人过河的所需时间不同, 问最快的过河时间。 思路: 仅仅启发一下思维: 我相信很多人一下子的想法就会有,每次最快和那些慢的过去,然后让最快一直来回,最后全部到对岸。 但是还有一种情况,我说说看,弱仅仅是想给大家一点思考,毕竟有意思。 你先让两个快的人从A过去至B,然后挑一个人回来至A,留下一个快的在B。OK,回来以后我让两个最

2016-07-27 00:14:36 1236

原创 2016 Multi-University Training Contest 3 1011【鸽巢原理】

题解: 坐标(0,m)的话,闭区间,可能一共有多少曼哈顿距离? 2m 但是给一个n,可能存在n(n+1)/2个曼哈顿距离 所以可以用抽屉原理了 当n比抽屉的数量大,直接输出yes 不用计算 那。。。NO呢 那就暴力 n^2 这个n肯定不会太大队友code……..#include <iostream>#include <stdio.h>#include <stdlib.h>#

2016-07-26 23:08:00 508

原创 Codeforces 快速竞技#4

快速竞技#4A–Duff and Meat588A= =这题不知道怎么写题解了。。 直接上code……….#include<bits/stdc++.h>#include<string.h>using namespace std;typedef long long LL;typedef unsigned long long ULL;const double eps=1e-5;const

2016-07-25 22:23:56 440

原创 lightoj 1025【区间DP】

题意: 给出一个word,求有多少种方法你从这个word清除一些字符而达到一个回文串。思路: 区间问题,还是区间DP; 我判断小的区间有多少,然后往外扩大一点。 dp[i,j]就代表从i到j的方案数。状态转移:其实对于在任意区间[i ,j],都可以, 在子区间[i+1,j]中可以直接去掉s[j]时,顺便去掉s[i],所以就有它的方案, 在子区间[i,j-1]中可以直接去掉s[i]时,顺便

2016-07-25 19:13:05 421

原创 lightoj 1033【区间DP/LCS】

题意: 给你一个长度<=100的字符串。 然后你可以在任何位置插入字符,问最少插入几个构成回文。思路: 1.长度-LIS; 2.区间DP; 我保证小的区间是一个回文,然后枚举区间,构成大区间,就是很简单的区间dp dp[i,j]代表从i->j的最少数量。 然后扩大,就好了吧。 如果区间的两端是相同:dp[i,j]=dp[i+1,j-1]的大小。 然后倒着枚举起点,然后区间大小慢慢扩

2016-07-25 15:39:19 427

原创 lightoj 1031【区间DP】

题意: 给你一个n,再给你n个数,每个数<1e4; 有两个player交替取数字,每个人每一次能拿一个或多个,交替在两边拿。 游戏终止在所有的数字被取完。 两个人的分数就是所取得的数字大小总和。 注意点,两个人每次都是往自己的方向最优。 然后A先拿,问A最大能比B拿多少。思路: 参考:大牛博客 区间DP,dp[i][j]代表i 到 j 先手拿的最大值,对于一个区间,枚举k,求集合{d

2016-07-25 14:51:56 540

原创 lightoj1200 【完全背包】

题意: 有一个能放W重的袋子,然后妻子给了老公一列清单,每个item会有价格,数量,重量。 首先得满足老婆的要求,然后在可装的地方输出最大还能拿多少使得拿的东西的钱最多。 注意标题是thief,我想大家也能知道基本上出背包题的人都是心机biao啊…)逃 思路: 1.首先要满足wife的要求是不是。 2.其次再满足husband的小心思。 后面就转化成了完全背包。一开始类似0/1背包直接

2016-07-25 10:30:55 324

原创 lightoj1079【背包】

题意: 哈利波特抢银行。。。 给出n个银行,每个银行有a[i]百万和b[i]的风险。然后再给一个风险值P,不能超过P。 思路: 如果告诉你概率的小数的位数,可能这个就会不一样了。。。 慨率的计算,风险最低和被捕概率; dp[i][j] 为 前i个抢j元的最小被捕概率。 这里可以直接一维做,其实背包很多前i个物品这样子的都可以弄成1维的。因为处理完每次要用的就是i-1的状态,前i-1直接

2016-07-24 23:49:34 351

原创 lightoj1231【背包】

题意: 有n种货币,已知每种货币的价值和数量。 给出一个k,问最多能组成k的方法。这个数量很大,需要mod 1e8+7. 思路: 额。。。。这一题和上一篇的差不多,直接传送门: (此题很棒) 这里的话就是类似啊: dp[i][j]:前i种硬币组成j有多少种方法。 但是每次要模 code…#include<bits/stdc++.h>//#include<cstdio>//#in

2016-07-24 22:06:17 672

原创 poj1837【背包】

题意: 有一根杆子,给出一些杆子上的位置,位置上能放重物,再给出一些重物的重量。 重物都需要被使用,但是位置不一定都要用到。 问你能有多少种方法让这个杆子平衡。 思路: 额。。。 扯下雨巨:) 雨巨的高中老师说过,DP就是:枚举最后一次决策! 只要最后一次决策涵盖到了所有转移过来的情况,那么就涵盖了所有情况了…… 非常有道理啊。这个和记忆化搜索的思想是一样的,所以都是DP嘛。。mdz

2016-07-24 21:01:12 632

原创 hdoj5115【区间DP·基础】

题意: 有n头wolf排成一排,杀一头wolf回受到受到的伤害=它的本身a[i]+相邻两个b[i-1]+b[i+1].然后杀死第k个位置的wolf的话,k-1和k+1默认相邻(满足的话)。 思路: 用雨巨的话说(完全Orz):这不就变成区间DP水题了么…… dp[i][j]表示从第i头狼到第j头狼全部被杀死所受到的最小伤害。 a[i]表示第i头狼的初始攻击力,b[i]表示第i头狼对相邻狼的

2016-07-24 16:51:40 411

原创 hdoj5003【wa水】

蜜汁wa,蜜汁wa,少了个\n………………#include<bits/stdc++.h>using namespace std;typedef long long LL;typedef unsigned long long ULL;const double eps=1e-5;const double pi=acos(-1.0);const int mod=998244353;const

2016-07-24 13:19:46 460

原创 POJ2955 区间DP

题意: 都说这题是经典的区间DP,然后没人能把题意说清楚。。。 弱也说不清。。。只能说个大概,在某段区间里面括号匹配数,区间里的括号和外面的括号不能匹配。。。讲着讲着就讲成了区间DP。。。 子区间构成大区间,并且满足最优解特性和无后效性 code…//#include <bits/stdc++.h>#include<cstdio>#include<string.h>#include<m

2016-07-24 10:58:36 290

原创 hdoj5317【素数预处理】

题意: F(x):对于x的素数因子的种类个数。 给t(<=1e6)个查询,每个查询给出L,R(<=1e6),求在区间[L,R]内求一个maxGCD(F(i),F(j)) F(i)肯定<7; 思路: 计数一下,然后后面直接搞; 用sum数组表示从1->i有数量j的个数。 最终他的个数有>=2的话可以,或者还有一种情况就是6/2或者6/3的最大公约数是2/3.后面就是手动枚举了一下。 其

2016-07-24 01:05:59 497

原创 Codeforces Round #364 (Div. 2)【A,C】

啊啊啊啊啊啊啊啊啊,目睹A->CⅠA全过,最终fstwaA,C;23333333 A题: 题意: 就是分成相等的m堆,每堆有两个位置上的值相加。 思路: fst在sum可能不是偶数,先*2/n;。。。。。。。。。。。。。。哭死。。 code:#include <bits/stdc++.h>using namespace std;typedef long long LL;typede

2016-07-24 00:25:44 314

原创 hdoj5327【前缀和思想】

题意: 找给定区间的美丽数,美丽数的意思就是这个数每个位上的数都是唯一的。 思路: 前缀和的思想。 感想: 就是你当前位置代表某个特性的前面的所有和(瞎比比的,说了下感觉)。前提是你必须找到这样的特性,比如CF的很多题目都是这样子,给你1e5的查询,题解马上一堆线段树,这种区间的预处理,前缀和的思想很好。还有就有一题实现区间的压缩,也是很棒啊。#include <bits/stdc++.h

2016-07-22 21:50:49 674

原创 codeforces 611C

题意: 给你一个矩阵,矩阵里有” . “和” # “,” . “表示空的,” # “表示禁止的。 多米诺骨牌将占据正好有两个相邻的单元格,或者位于一排或一列。两个相邻的单元格必须是空的,并且必须是一个网格内。对于每个询问,求给定矩形里面能组成不同多米诺骨牌的方式。 思路: 对于一段连续空的,我们能算出来,他的方法是n-1个。 =>求你给定矩阵在行和列上的连续空的有多长。 开两个数组直接记

2016-07-22 21:06:12 393

原创 codeforces 632C

题意: 给n个字符串,然后将这些字符串组合,搞成一个最小字典序的字符串,然后输出就好了。 思路: 记得以前神队友给我说过你怎么将n个字符串按字典序的比较从小到大输出。那么我也是这样玩一下,然后组合输出?还行啊!!!woc,但是有点怪。。其实可以通过比较字符串的不同组合的方式,然后排序。 现在string还不熟练的童鞋,要好好玩了啊!! code…#include <bits/stdc++.

2016-07-21 22:35:59 317

原创 poj1163 【记忆化搜索·水】

题意: 一个这样的三角形,他可以往下的左或者往下的右走。求一个在最后一行的最大。 思路: 额。。。就是搜一下。。记录一下。。。肯定有重合的情况。code…//#include <bits/stdc++.h>#include<cstdio>#include<iostream>#include<math.h>#include<string.h>#include<algorithm>us

2016-07-21 21:58:00 369

原创 2016 Multi-University Training Contest 2 A Acperience

啊啊啊啊啊啊啊啊啊啊啊啊啊啊啊 题意: 略。 思路: 略。 = =、我今天是纠结去死了。哎,继续加油,就比如gfd说的还有下一场,下下场,不要烦,不要绝望,因为,这算什么? )扔份代码跑。#include <stdio.h>#include <math.h>#include <string.h>#include <algorithm>#include <iostream>#in

2016-07-21 18:57:39 390

原创 细剖最短路【闲谈,权当是饭后杂文】

细剖最短路我想这篇细剖最短路都是站在巨人的肩膀上说话的,所以我觉得通过此篇文章就想要提高自己对最短路算法的认识,还是不要抱太大希望(这几句向雨巨学习…)。写给自己,饭后杂文。我想最开始还是,再去看看最短路算法原理吧 弱经常用的就是…spfa,而且各种切最短路(水题),噗,是啊,只能切最水的水题。然后真是挂了。PTA基础最短路挂,二级最短路挂,最短路转化挂…挂太多了…我也不是很想去挂了…先讲spf

2016-07-20 23:09:25 569 1

原创 poj1724【最短路】

题意: 给出n个城市,然后给出m条单向路,给出了每条路的距离和花费,问一个人有k coins,在不超过money的情况下从1到n最短路径路径。 思路: 我相信很多人在上面那道题的影响下,肯定会想想,在保证最短路的前提下维护下最小花费?还是保证最小花费下维护一个最短路?这样两个想法的bug都非常明显啊。第一个,那是大错特错了,人家首要给你的条件满足<=k,你还抱住最短路长度不放,给你wa是同情。

2016-07-20 21:36:11 812

转载 [YY题]HDOJ5288 OO’s Sequence

转载: 题意:求这个式子的值就是对每个区间[i, j]枚举区间中的每个数ai到aj, 判断这个a是否对[i, j]这个区间内所有数取模都不等于0, 若是,则这个区间满足条件问有多少个满足条件的区间 比如案例是这样跑的int ans=0; for(int i=1;i<=5;i++) for(int j=i;j<=5;j++) { fo

2016-07-20 16:59:24 463

原创 Codeforces Round #363 (Div. 2) C. Vacations

题意: 小V的一天有三种状态,去sport,去context,去relax,然后一天呢会有四种情况,0没有gym也没有context,1没有gym有context,2有gym没有context,3有gym有context。 还有一个约束条件就是不能持续的去sport两天,也不能连续持续进行context。 求一个最小的休息时间

2016-07-19 23:22:17 552

原创 POJ2105【进制转化】

直接瞎写就可以水过。我记得STL有很多好的函数,哎。水过去补多校的题。//#include <bits/stdc++.h>#include<cstdio>#include<iostream>#include<math.h>#include<string.h>#include<algorithm>using namespace std;typedef long long LL;type

2016-07-19 18:43:33 424

原创 2016 Multi-University Training Contest 1 GCD【RMQ+二分】

题意: 第一个数求给定询问区间的GCD,第二个数求在这个给定区间里面有多少种连续区间的GCD是等于第一个数。 思路: 无思路。

2016-07-19 16:56:03 1308

原创 2016 Multi-University Training Contest 1Abandoned country

qaq,现在内心真是各种草泥马。怪自己见识短浅。。。哎。。。 题意: 给你一幅图,然后求一个最小花费使得所有的点都连通(这就是最小生成树啊),然后在这棵树上【如果我要从任意起点到任意终点,这两个点不同,且这两个点的被选取概率都是一样,求一个最小的期望长度,我的神队友的解释就是树上所有任意不同点之间的边值都加起来然后除以边的数量】思路: ①:最小生成树; ②:求一个所有边之和/边的数量,一个边

2016-07-19 16:48:02 913 4

原创 poj1338【丑数·DP】

我记得这道题以前写过,而且是写出来了。DP吧。 然后现在想了好久。。。没想出来。。。。 然后考虑一下递推。。mdzz…直接就是让之前的这个每次乘以2,3,5就好了嘛,然后每轮取最小。//#include <bits/stdc++.h>#include<iostream>#include<cstdio>#include<math.h>#include<string.h>#include<

2016-07-19 10:28:57 428

原创 poj1308【并查集】

= =、如果输入的两个数相等。就不是一颗树啊,不能自己指向自己。 水。(瞎开的数组)。//#include <bits/stdc++.h>#include<iostream>#include<cstdio>#include<math.h>#include<string.h>#include<algorithm>using namespace std;typedef long long

2016-07-19 09:39:34 525

原创 CodeForces 615C

题意: 给定两个字符串s1,s2利用s1去构造s2,s1有无限个,可以翻转,你最少要用几个s1才能构造s2。输出每一次使用的s1的有效区间。 伪思路: 据说是暴力就能过的题目。然而自己就是暴力差,模拟差,DP差。。。。mdzz好像都差,不会怎么暴力。 其他思路都想过一点,然后剩下两个比较可能的; ①:我暴力一发s2,以s2的字符为开始然后暴力过去,让s1去正的反的匹配,所以怎么记录?但是这

2016-07-19 01:06:46 498

原创 poj2186【利用强连通分量】

题意: 有n头奶牛,然后有个规则是A->B,B->C,那么A->C; A觉得B受欢迎,B觉得C受欢迎,那么A觉得C受欢迎; 求:被其他所有牛都欢迎的牛的数量; 思路: 原来的思路: 我们只要在缩点之后的图中,找出出度为0的点,然后输出它里面的点就可以了。【虽然AC了】 然后我觉得这样不是会有缺陷么?他可能入度也为0呢?也就是缩点后那个出度为0点是独立的。所以还是要判断入度吧。 后来其

2016-07-18 19:51:10 355

原创 CodeForces 687C【DP】

题意: 给你n个数,然后让这些数相加组合,然后在这些组合的数里可以再相加组合搞出给定 k,输出这些组合的数。思路: DP。 //在枚举到第i个coin的时,dp[i][j],i 肯定能被a[i]组合, //然后再枚举<=a[i]的部分,dp[i][j]的具体意义就是在coin值是i的时候,能用j去组合。 //为了防止重复利用coin,从j枚举到a[i]; //最后dp[k][h]==1的

2016-07-18 16:33:53 477 1

原创 hdoj2796

题意:1.在每一堆里顶部的coin的size必须大于这一堆其他的coin;2.在每一堆里顶部的coin的size必须大于前面堆的顶部的coin;3.在每一堆里顶部的coin的num必须大于前面堆的数量;然后给你n(思路:就是排序一下,然后根据他给的信息模拟一下就好了,水题。。。打了快一个小时。。。#include using namespace std;typede

2016-07-18 14:23:30 359

原创 hdoj2795【未完待续】

题意: 给你一个矩形h*w(h,w都是1e9),然后给你n个询问,每个询问带一个1*wi矩形,问你这个给定矩形能放在第几行(从1-h下来)。如果最终放不下了,就输出-1。 比如案例:3 5 524333

2016-07-18 13:22:12 331

原创 hdoj【1006】【未完待续】

题意: 时钟的三个指针在两两之间至少D°的时候是开心的,求开心时间占一天的一个百分比。 思路: 我们看到这个百分比有三位小数,精度很高。 一天有24h,24*60min,24*60*60s,那么最小单位是秒。 换一种方法,考虑一天360*2度。但是可以看到,从秒到分到时间,这样转换到度来说,精度更高吧。 然后题目是要保证三个指针最少需要保证D°。 那么我们控制时针每个小时,使得分针最小

2016-07-18 12:42:12 607

原创 hdoj1007【几何】【未完待续】

题意: 在一个平面上有n(1e5)个点,然后求一个圆来包住这些点,求这个圆的最小半径。 思考: 要使一个圆直接包了这些点,没有任何思路。。

2016-07-18 08:56:06 354

原创 位运算【C++学习(计蒜客)】

C++提供了位运算操作符,使程序可以直接对内存进行操作。C++的这个特色大大提高了C++程序的执行能力。例如使用位操作运算可以将一个存储单位中的各个二进制位左移或右移一位,也可以将一个存储单位中所有的二进制位取反,这些操作多数要比直接进行数值上的运算要高效的多。 学习位运算之前,我们先来了解几个概念: 字节:字节是数据存储和数值计算的基本单位,也是从内存读取数据和写入数据的最小单位,单位是byt

2016-07-17 14:57:17 588

空空如也

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

TA关注的人

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