04 2017 档案

摘要:Atcoder regular Contest 073(C Sentou) 传送门 每个人对开关的影响区间为a[i] a[i]+t,因此此题即为将所有区间离散化后求所有独立区间的长度和 include include include include include include include d 阅读全文
posted @ 2017-04-29 23:24 江南何采莲 阅读(226) 评论(0) 推荐(0)
摘要:Atcoder regular Contest 073(D Simple Knapsack) 传送门 因为 w1≤wi≤w1+3 这个特殊条件,我们可以将每个重量离散化一下,同时多开一维记录选择的物品数量,因此可以由状态得到此时的实际背包重量. dp[i][j][k]为考虑前i个物品,背包剩余容量, 阅读全文
posted @ 2017-04-29 23:13 江南何采莲 阅读(260) 评论(0) 推荐(0)
摘要:传送门 对于错想成lis的解法,提供一组反例 1 3 4 2 5同时对于这次案例也可以观察出解法:对于每一个数,如果存在比它小的数在它后面,它势必需要移动,因为只能小的数无法向右移动,而且每一次移动都必然可以使得这个数到达正确位置,这是根据题意而得的 阅读全文
posted @ 2017-04-28 10:00 江南何采莲 阅读(156) 评论(0) 推荐(0)
摘要:题目传送门 设dp[i][j]为杀掉区间i到j之间的狼需要付出的最小代价,那么dp[i][j]=min{dp[i][k 1]+dp[k+1][j]+a[k]+b[i 1]+b[j+1]} Java代码 C++代码 include include include include include inc 阅读全文
posted @ 2017-04-27 11:08 江南何采莲 阅读(909) 评论(0) 推荐(0)
摘要:POJ 2007 将所有的点按逆时针输出 import java.io. ; import java.util. ; public class Main { static class Point implements Comparable{ double x, y; @Override public 阅读全文
posted @ 2017-04-24 19:25 江南何采莲 阅读(291) 评论(0) 推荐(0)
摘要:传送门 include include include include include include include define ll long long define inf 300 define mod 1000000007 using namespace std; int read() { 阅读全文
posted @ 2017-04-20 20:42 江南何采莲 阅读(155) 评论(0) 推荐(0)
摘要:传送门 阅读全文
posted @ 2017-04-20 20:26 江南何采莲 阅读(120) 评论(0) 推荐(0)
摘要:Trie树 hihocoder 1014 传送门 字典树的基本应用 include include include include include include include define ll long long define inf 1000000000 define mod 1000000 阅读全文
posted @ 2017-04-20 20:14 江南何采莲 阅读(102) 评论(0) 推荐(0)
摘要:POJ 3468 (Java,c++实现) Java import java.io. ; import java.util. ; public class Main { static int n, m; static final int N = 100005; static int ls[] = n 阅读全文
posted @ 2017-04-20 11:48 江南何采莲 阅读(288) 评论(0) 推荐(0)
摘要:atCoder Ants on a Circle(又是蚂蚁问题。。。) 传送门 题意:一个圈,蚂蚁在上面以相同的速度和不同的方向走,问t秒后它们各自的位置。 解法:和经典的蚂蚁问题一致,把相撞的情况看做是穿过,我们不需要关心穿过的蚂蚁去哪儿了,它们的位置是相对不变的。然而。。。这里的路线是一个圈,势 阅读全文
posted @ 2017-04-18 19:50 江南何采莲 阅读(329) 评论(0) 推荐(0)
摘要:CodeForces 800B Volatile Kite(点与直线的距离)(Java 实现) 传送门 如果想要一个凸多边形不退化为凹多边形,那么任意的相邻的三个点必然最多形成一条直线。因此我们可以求出点i 1和i+1的直线向量,再求点i到这条直线的距离,答案必然是取其中最小的一个值 import 阅读全文
posted @ 2017-04-17 19:40 江南何采莲 阅读(202) 评论(0) 推荐(0)
摘要:String HDU 5672(双指针) 传送门 题意:一个字符串中找到所有拥有不少于k个不同的字符的子串。 import java.io. ; import java.util. ; public class Main { static final int N = 1000005; static 阅读全文
posted @ 2017-04-17 15:59 江南何采莲 阅读(206) 评论(0) 推荐(0)
摘要:FZU 1492 地震预测(模拟链表的应用)(Java实现) 怀特先生是一名研究地震的科学家,最近他发现如果知道某一段时间内的地壳震动能量采样的最小波动值之和,可以有效地预测大地震的发生。 假设已知一段时间的n次地壳震动能量的采样值为a1,a2,…an,那么第i 次采样的最小波动值为min{|ai 阅读全文
posted @ 2017-04-17 10:01 江南何采莲 阅读(228) 评论(0) 推荐(0)
摘要:codeforces 372 Complete the Word(双指针) 题链 题意:给出一个字符串,其中'?'代表这个字符是可变的,要求一个连续的26位长的串,其中每个字母都只出现一次 include include include include include include include 阅读全文
posted @ 2017-04-13 19:11 江南何采莲 阅读(194) 评论(0) 推荐(0)
摘要:HDU 5178 pairs(双指针) Hdu 5178 解法:因为要求的是绝对值小于等于k,因此数字的序号关系并不重要,那么排序后使用双指针即可解决这个问题。 阅读全文
posted @ 2017-04-13 17:03 江南何采莲 阅读(198) 评论(0) 推荐(0)
摘要:Bazinga HDU 5510 Bazinga(双指针) 题链 解法:对于串i来说,如果串i是不符合的,那么代表串i之前的字符串都是i的子串,那么我们求一个新的i(定义为ti),如果i是ti 的子串,那么串i之前的字符串都没必要再匹配了,如果不是,ti就是符合要求的答案之一 include inc 阅读全文
posted @ 2017-04-13 16:37 江南何采莲 阅读(157) 评论(0) 推荐(0)
摘要:Hdu 5806 NanoApe Loves Sequence Ⅱ(双指针) Hdu 5806 题意:给出一个数组,求区间第k大的数大于等于m的区间个数 Java版本实现,输入可能会导致超时,需要使用BufferedInputStream加速 阅读全文
posted @ 2017-04-13 11:36 江南何采莲 阅读(156) 评论(0) 推荐(0)
摘要:poj 3744 Scout YYF I(递推求期望) 题链 题意:给出n个坑,一个人可能以p的概率一步一步地走,或者以1 p的概率跳过前面一步,问这个人安全通过的概率 解法: 递推式: 对于每个坑,我们可以这么定义一个数组: d[i]代表它安全落在位置i的概率,在这个1到max(a[i])的范围中 阅读全文
posted @ 2017-04-12 16:14 江南何采莲 阅读(192) 评论(0) 推荐(0)
摘要:``` const int tn=2; struct Matrix { ll m[111][111]; Matrix() { memset(m,0,sizeof(m)); } friend Matrix operator*(Matrix a,Matrix b) { Matrix res; double ... 阅读全文
posted @ 2017-04-12 11:58 江南何采莲 阅读(123) 评论(0) 推荐(0)
摘要:codeforces 689 Mike and Shortcuts(最短路) 原题 1. 任意两点的距离是序号差,那么相邻点之间建边即可,同时加上题目提供的边 2. 跑一遍dijkstra可得1点到每个点的最短路,时间复杂度是O(mlogm) include include include incl 阅读全文
posted @ 2017-04-12 09:02 江南何采莲 阅读(188) 评论(0) 推荐(0)
摘要:Andrew and Chemistry(树的同构) 题链 将一棵树转化为最小表示法,将此时的树哈希一下,同时用map进行标记,就可以判断树是否存在同构 include include include include include define scan(x) scanf("%d",&x) def 阅读全文
posted @ 2017-04-11 21:01 江南何采莲 阅读(209) 评论(0) 推荐(0)
摘要:Just a Hook (HDU 1698) 题链 每一次都将一个区间整体进行修改,需要用到懒惰标记,懒惰标记的核心在于在查询前才更新,比如将当前点rt标记为col[rt],那么此点的左孩子和右孩子标记必然和其一致(直接替换,如果是累积则另当别论),同时这个区间也能很快求出了 线段树功能:区间更新+ 阅读全文
posted @ 2017-04-11 20:10 江南何采莲 阅读(185) 评论(0) 推荐(0)
摘要:Billboard (HDU 2795) Hdu 2795 注意到每个广告的长度是1,因此可以将每这一张广告牌当成一个数列表示,每个初始值为w。使用线段树维护这个数列,每次查询为找到这个数列第一个大于等于x的位置,每次修改操作为将找到的位置值 x 线段树功能:区间查询+单点更新 include in 阅读全文
posted @ 2017-04-11 19:39 江南何采莲 阅读(269) 评论(0) 推荐(0)
摘要:codeforces 373 A Efim and Strange Grade(算数模拟) 原题:Efim and Strange Grade 题意:给出一个n位的实型数,你可以选择t次在任意位进行四舍五入的进位,求最大结果。 解法:这道题一定不能忽略数位计算时本身带来的进位,如果我们要改变这个数的 阅读全文
posted @ 2017-04-11 16:58 江南何采莲 阅读(135) 评论(0) 推荐(0)
摘要:``` inline int read() { int x=0;char ch=getchar(); while(ch'9')ch=getchar(); while(ch ='0'&&ch 阅读全文
posted @ 2017-04-10 18:23 江南何采莲 阅读(461) 评论(0) 推荐(0)
摘要:HYSBZ 1050(旅行comf Java实现) 原题地址 解法:枚举每一条边,对于这条边,我们需要找到集合中和其值相差最小的最大边,这个集合是指与包括i边在内的ST联通集。对于这一要求,我们只需对所有的边进行从小到大的排序,那么从i边开始,一条条地加入并查集,一旦形成上述的联通集,立刻停止。 阅读全文
posted @ 2017-04-05 20:27 江南何采莲 阅读(161) 评论(0) 推荐(0)
摘要:Java Arrays.sort() Java中的数组排序函数, 头文件 import java.util.Arrays; 相关API sort重载 可以利用Comparator接口实现不同的排序效果 sort的时间复杂度 Arrays.sort()使用了归并排序算法,时间复杂度为O(nlogn) 阅读全文
posted @ 2017-04-01 17:53 江南何采莲 阅读(2323) 评论(0) 推荐(0)
摘要:Hdu 4864(Task 贪心) 原题链接 题意:给定n台机器和m个任务,任务和机器都有工作时间值和工作等级值,一个机器只能执行一个任务,且执行任务的条件位机器的两个值都大于等于任务的值,每完成一个任务可获奖励500 x+2 y。求完成最多任务前提下可获得最高奖励,输出任务数和奖励数。 解法:对机 阅读全文
posted @ 2017-04-01 17:23 江南何采莲 阅读(660) 评论(0) 推荐(0)