01 2017 档案

1268 和为K的组合 Meet in mid二分思路
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1268&judgeId=193772 给出n = 20个数,问其是否有和为k的情况 分两段,用O(2^(n / 2))复杂度维护出每一段的所有情况。 然后枚举第一段,二分判断 阅读全文

posted @ 2017-01-31 02:08 stupid_one 阅读(167) 评论(0) 推荐(0) 编辑

1163 最高的奖励 贪心 + 并查集
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1163 首先如果时间大于n,也就是相当于不限时了,因为完成前n - 1项任务需要时间n - 1,不影响我的第n项。 首先按价值排序,然后这个价值安排在它准备过期的那一天,如果 阅读全文

posted @ 2017-01-30 22:38 stupid_one 阅读(194) 评论(0) 推荐(0) 编辑

1097 拼成最小的数 贪心排序
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1097 2 280 28023 2 280 2802 2 32 323231 首先,起始位比较小的,肯定排在前面的了。然后关键就是如何处理相同的时候,也就是32和321怎么比 阅读全文

posted @ 2017-01-30 01:18 stupid_one 阅读(167) 评论(0) 推荐(0) 编辑

HUST 1698 - 电影院 组合数学 + 分类思想
摘要:http://acm.hust.edu.cn/problem/show/1698 题目就是要把一个数n分成4段,其中中间两段一定要是奇数。 问有多少种情况。 分类, 奇数 + 奇数 + 奇数 + 奇数 奇数 + 奇数 + 奇数 + 偶数 偶数 + 奇数 + 奇数 + 奇数 偶数 + 奇数 + 奇数 阅读全文

posted @ 2017-01-29 23:14 stupid_one 阅读(224) 评论(0) 推荐(0) 编辑

C. Two strings 二分 + 预处理
摘要:http://codeforces.com/contest/762/problem/C 第一个串str[],第二个sub[] 预处理出prefix[i]表示sub的前i位和str[]的最长lcs去到str[]的最小的位置,如果某一位i不成立了,就设为inf 由于处理的时候,指针指向str[]的是单调 阅读全文

posted @ 2017-01-26 23:22 stupid_one 阅读(140) 评论(0) 推荐(0) 编辑

1065 最小正子段和 二分答案 + 判定
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1065 我的思路比较笨,我是直接二分那个答案mid 然后进行一次O(nlogn)的判定,如果能找到一个区间的和比mid小的,(当然这个区间的和也是要大于0),那就return 阅读全文

posted @ 2017-01-26 22:58 stupid_one 阅读(156) 评论(0) 推荐(0) 编辑

Polynomial Division 数学题
摘要:https://www.hackerrank.com/contests/101hack45/challenges/polynomial-division 询问一个多项式能否整除一个一次函数。a * x + b 注意到如果能整除,就比如是x^2 + 2 * x + 1能整除2 * x + 2 那么它必 阅读全文

posted @ 2017-01-25 01:51 stupid_one 阅读(237) 评论(0) 推荐(0) 编辑

Matrix Transformation codechef 数学题
摘要:https://www.codechef.com/problems/MTRNSFRM 我只能说codechef的题好劲爆,这题居然是easy的题,太可怕了。而且还有一点就是codechef的题解很难看懂╮( ̄▽ ̄")╭ 这题可以这样做,首先把两个矩阵合并在一起,然后就是变成了在一个矩阵C中,操作行和 阅读全文

posted @ 2017-01-25 00:30 stupid_one 阅读(273) 评论(0) 推荐(0) 编辑

hdu 6012 Lotus and Horticulture 打标记
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=6012 我们希望能够快速算出,对于每一个温度,都能够算出它在这n颗植物中,能得到多少价值。 那么,对于第i科植物,在[0, L[i] - 1]这些温度中,得到的价值是低温那个价值,同理在[L[i], R[i]]中, 阅读全文

posted @ 2017-01-22 23:37 stupid_one 阅读(214) 评论(0) 推荐(0) 编辑

hdu 6011 Lotus and Characters 贪心
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=6011 先把数字从小到大排好,比如是-6、3、4这样, 然后处理出后缀和,当后缀和 <= 0的时候马上停止就好了。 证明: 假如现在是去到了第二个,也就是那个3,后缀和是7,那么我选不选-6呢? 如果选, 结果是: 阅读全文

posted @ 2017-01-22 01:15 stupid_one 阅读(233) 评论(0) 推荐(0) 编辑

leetcode 484. Find Permutation 思维题
摘要:https://leetcode.com/contest/leetcode-weekly-contest-16a/problems/find-permutation/ 设原本的数字是0,那么按照它的DI来模拟,D就减1,I就+1 比如DDIIDI,就是0、-1、-2、-1、0、-1、0 那么找到第一 阅读全文

posted @ 2017-01-22 01:10 stupid_one 阅读(378) 评论(0) 推荐(0) 编辑

Lucky Number Eight dp
摘要:https://www.hackerrank.com/contests/w28/challenges/lucky-number-eight 设dp[i][v]表示前i位数中,得到余数是v的子序列的数目。 那么产生新的状态就是,对于每一个上一次的余数v。新的余数数目就有,(v * 10 + str[i 阅读全文

posted @ 2017-01-21 17:40 stupid_one 阅读(194) 评论(0) 推荐(0) 编辑

D. Caesar's Legions 背包Dp 递推DP
摘要:http://codeforces.com/problemset/problem/118/D 设dp[i][j][k1][k2] 表示,放了i个1,放了j个2,而且1的连续个数是k1,2的连续个数是k2 如果这样写,用dfs写是很简单的。但是超时,我记忆化不到 如果用递推写,对于每一个状态,更新到下 阅读全文

posted @ 2017-01-21 15:46 stupid_one 阅读(120) 评论(0) 推荐(0) 编辑

E. The Values You Can Make 背包,同时DP
摘要:http://codeforces.com/problemset/problem/688/E 题目需要在n个数中找出一个集合,使得这个集合的和为val,然后问这些所有集合,能产生多少个不同的和值。 题解是直接两个同时dp,设dp[j][h]表示主集合的和为j,能否产生h这个数字。 把他们看作是两个集 阅读全文

posted @ 2017-01-21 00:18 stupid_one 阅读(96) 评论(0) 推荐(0) 编辑

D. Arpa's weak amphitheater and Mehrdad's valuable Hoses 分组背包模板题
摘要:http://codeforces.com/problemset/problem/742/D 并查集预处理出所有关系。 一开始的时候,我预处理所有关系后,然后选择全部的时候,另起了一个for,然后再判断。 这样是不对的。因为这样使得同一组里面可能选择了两次。 3 0 2 1 2 3 1 1 3 #i 阅读全文

posted @ 2017-01-20 20:18 stupid_one 阅读(146) 评论(0) 推荐(0) 编辑

1043 幸运号码 数位DP
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1043 设dp[i][j]表示前i位数中,i位数的和为j时的所有情况。 转移的时候和普通的数位dp是一样转移的,但是如果你压缩了空间的话,就是用滚动数组的话,记录情况数就要多 阅读全文

posted @ 2017-01-20 19:07 stupid_one 阅读(197) 评论(0) 推荐(0) 编辑

C. Unfair Poll 数学题,
摘要:http://codeforces.com/contest/758/problem/C 需要一个能够找到任意一个位置的步数的方法,就能解决三个问题。 预处理出one(row, col)表示第一次经过这个点,需要的步数。 sec(row, col),thr(row, col)分别是第二、三步。 那么, 阅读全文

posted @ 2017-01-20 02:41 stupid_one 阅读(181) 评论(0) 推荐(0) 编辑

HDU 3652 B-number 数位DP
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=3652 首先先解决怎么判断它是否含有13这个子串。 方法就类似于一个状态记录dp 加多一维[0 or 1]判断是否已经含有了13这个子串,那么如果枚举的时候,相邻的两位是13,则可由0跳转去1 这题是设dp[i][ 阅读全文

posted @ 2017-01-18 23:35 stupid_one 阅读(132) 评论(0) 推荐(0) 编辑

HDU 2089 不要62 数位dp入门
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=2089 dp[i][j]表示长度为i的数字中,开头的数字是j的时候,有多少种合法的情况。 预处理挺好理解,关键是那个统计,比较难。 比如我统计的是数字: 456 那么,从高到低枚举。先枚举第一位,4、再枚举5、.. 阅读全文

posted @ 2017-01-18 20:30 stupid_one 阅读(154) 评论(0) 推荐(0) 编辑

The Chosen One
摘要:https://www.hackerrank.com/contests/101hack45/challenges/the-chosen-one 找出一个数字,使得,数组中只有一个数字不是这个数的约数,而且其他数都是这个数的约数。 如果暴力枚举每一个i,表示,就是要排除这个数字,那么,需要找到一个数能 阅读全文

posted @ 2017-01-18 02:09 stupid_one 阅读(171) 评论(0) 推荐(0) 编辑

1393 0和1相等串 鸽笼原理 || 化简dp公式
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1393 正解一眼看出来的应该是鸽笼原理。记录每个位置的前缀和,就是dp[i][1]表示前i个数中,1的个数。dp[i][0]同理。 然后计算出每一个位置的dp[i][1] - 阅读全文

posted @ 2017-01-17 23:27 stupid_one 阅读(331) 评论(0) 推荐(0) 编辑

C. Coin Troubles 有依赖的背包 + 完全背包变形
摘要:http://codeforces.com/problemset/problem/283/C 一开始的时候,看着样例不懂,为什么5 * a1 + a3不行呢?也是17啊 原来是,题目要求硬币数目a3 > a4 > a2,那么,不选的话,是不合法的。就是0、0、0这样是不合法的,因为a3 = a4了。 阅读全文

posted @ 2017-01-17 02:24 stupid_one 阅读(192) 评论(0) 推荐(1) 编辑

D. PolandBall and Polygon BIT + 欧拉公式
摘要:http://codeforces.com/contest/755/problem/D // 我也觉得非平面图不能用欧拉公式,但是也能过,不知道为什么。求大佬留言。 这题其实就是平面图,因为它有很多个交点。中途的交点使得图的阶数变大了 所以我的思路就是求出V、E、然后解出F。V - E + F = 阅读全文

posted @ 2017-01-16 15:31 stupid_one 阅读(195) 评论(0) 推荐(0) 编辑

51NOD 1639 绑鞋带 数学
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1639 假如一开始有一根绳子。 那么增加一根的时候,可以插在它的尾部,也可以左端头开始插,或者右端头开始插。但是不能从头部开始插,因为这样和前面的重复了。因为它是环,旋转一下 阅读全文

posted @ 2017-01-15 22:42 stupid_one 阅读(146) 评论(0) 推荐(0) 编辑

D. Fedor and coupons 二分暴力
摘要:http://codeforces.com/contest/754/problem/D 给出n条线段,选出k条,使得他们的公共部分长度最大。 公共部分的长度,可以二分出来,为val。那么怎么判断有k条线段有共同的这个长度,而且选他们出来呢? 可以把右端点减去val - 1,那么以后就只需要k条线段至 阅读全文

posted @ 2017-01-10 22:44 stupid_one 阅读(187) 评论(0) 推荐(0) 编辑

hdu 4104 Discount
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=4104 一开始还以为这题是背包,然后优化下这个背包,但是一直都优化不出来。 然后题解是直接模拟而已,唉 先从小到大排序后 设【L, R】表示前i个数能组合成这个区间里面的任何一个数。 那么,枚举一个数a[i + 1 阅读全文

posted @ 2017-01-10 21:08 stupid_one 阅读(162) 评论(0) 推荐(0) 编辑

bnu 51640 Training Plan DP
摘要:https://www.bnuoj.com/bnuoj/problem_show.php?pid=51640 dp[i][j]表示前j个数,分成了i组,最小需要多少精力。 那么,求解订票dp[i][j]的时候,要么,第i组不做题,要么,第i组做1题、2题、3题....j题 先把数组排好序。然后暴力 阅读全文

posted @ 2017-01-09 22:40 stupid_one 阅读(198) 评论(0) 推荐(0) 编辑

hdu 5745 La Vie en rose DP + bitset优化
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5745 这题好劲爆啊。dp容易想,但是要bitset优化,就想不到了。 先放一个tle的dp。复杂度O(n * m)的 第一个串,记作str[],第二个记作sub[] 思路就是,设dp[i][j][k]表示,匹配了 阅读全文

posted @ 2017-01-09 03:32 stupid_one 阅读(159) 评论(0) 推荐(0) 编辑

hdu 5036 Explosion bitset优化floyd
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=5036 题意就是给定一副有向图,现在需要走遍这n个顶点,一开始出发的顶点是这n个之中的随便一个。 如果走了1,那么1能联通的顶点就可以直接走过去,其他不和1连通的,就需要炸坏。问需要炸弹的期望。 比如一副图是1-- 阅读全文

posted @ 2017-01-08 22:36 stupid_one 阅读(256) 评论(0) 推荐(0) 编辑

1354 选数字 DP背包 + 数学剪枝
摘要:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1354&judgeId=187448 其实这题和在若干个数字中,选取和为val,有多少种不同的选法是一样的。 只不过不能直接枚举背包容量,只能用map的iterate来枚举, 阅读全文

posted @ 2017-01-08 13:00 stupid_one 阅读(174) 评论(0) 推荐(0) 编辑

HDU 1285 确定比赛名次 拓扑排序模板题
摘要:http://acm.hdu.edu.cn/showproblem.php?pid=1285 #include <cstdio> #include <cstdlib> #include <cstring> #include <cmath> #include <algorithm> #include 阅读全文

posted @ 2017-01-06 21:33 stupid_one 阅读(119) 评论(0) 推荐(0) 编辑

POJ 1015 Jury Compromise 2个月后重做,其实这是背包题目
摘要:http://poj.org/problem?id=1015 题目大意:在遥远的国家佛罗布尼亚,嫌犯是否有罪,须由陪审团决定。陪审团是由法官从公众中挑选的。先随机挑选n个人作为陪审团的候选人,然后再从这n个人中选m人组成陪审团。选m人的办法是:控方和辩方会根据对候选人的喜欢程度,给所有候选人打分,分 阅读全文

posted @ 2017-01-06 20:25 stupid_one 阅读(172) 评论(0) 推荐(0) 编辑

ZOJ 1442 Dinner Is Ready 容斥原理 + java大数
摘要:http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=442 求解 x1 + x2 + x3 + .... + xn = m 其中xi属于[L, R] 不同解的个数。 这题需要用大数,要注意。 原理和以前做的一样。容斥。先算出每个xi大 阅读全文

posted @ 2017-01-03 23:01 stupid_one 阅读(160) 评论(0) 推荐(0) 编辑

A. Writing Code 完全背包
摘要:http://codeforces.com/contest/543/problem/A 一开始这题用了多重背包做,结果有后效性。 就是如果6,这样拆分成 1 + 2 + 3的,那么能产生3的就有两种情况了(同一种物品,两种情况,所以有了后效性) 分别是1 + 2 = 3和0 + 3 = 3 以前的多 阅读全文

posted @ 2017-01-02 17:08 stupid_one 阅读(149) 评论(0) 推荐(0) 编辑

C. Shaass and Lights 组合数学
摘要:http://codeforces.com/contest/294/problem/C 把那个数组n分段了,那么有两类。 1、开头和端点那些,就是只有一端在开始的,这个时候,要开完这些灯,只能循序渐进,1--2--3--4 2、第二类就是中间那些,两端都可以开始,那些段的开灯次数是2^(len - 阅读全文

posted @ 2017-01-01 00:09 stupid_one 阅读(170) 评论(0) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

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