关闭

[置顶] 数位DP专题小结--by sgx 数位DP专题小结--by sgx

数位DP,一句话概括,就是在一个给定区间内求出满足某中奇葩条件的数字个数,这真是奇葩题目,但是总体写起来又有一定规律性。 主要可以分为以下几个步骤: 确定主体框架,确定一个大方向,想想该如何设计状态; 下面基本就是模板,直接DFS就行了,一位一位处理,这也是他叫按位DP的原因。 数位DP代码一般都很短,不过效率挺好,解决一些竞赛中出现的问题非常有用 。 如果看了这部分 ,你感觉还...
阅读(115) 评论(0)

Wannafly挑战赛1 C MMSet2 虚树DP

题目链接:https://www.nowcoder.com/acm/contest/15/C 题解:就是求虚树直径/2向上取整。 所谓虚树,其实就是把询问中需要用到的点建到另一棵树上,对于一些问题可以降低复杂度。比如我们询问一条链上的两个端点,直接做dfs的复杂度是O(N)的,但是对于虚树,这两个端点可以直接相连,它们之间的边记录了原本整条链上的信息,于是复杂度变成了O(1)。...
阅读(17) 评论(0)

Codeforces Round #396 (Div. 2) 题解

题目链接:http://codeforces.com/contest/766 A. Mahmoud and Longest Uncommon Subsequence 解法:水题,如果两个字符串不完全一样的话,最长不同子串肯定是其中最长的字符串。 #include using namespace std; int main(){ string a,b; cin>>a>>b;...
阅读(25) 评论(0)

Educational Codeforces Round 19 题解

比赛链接:http://codeforces.com/contest/797 A. k-Factorization 题意:将数n分解为k个大于1的数的乘积。 解法:模拟 #include using namespace std; typedef long long LL; vectorv; int main(){ int n, k; scanf("%d%d",&n,&k); for...
阅读(21) 评论(0)

Codeforces Round #394 (Div. 2) 题解

题目链接:http://codeforces.com/contest/761 A. Dasha and Stairs 题意:给定奇数偶数个数寻找一个满足条件的队列,很显然,奇偶数相差必须为不超过1才行。 解法: #include using namespace std; int main(){ int a,b; scanf("%d%d",&a,&b); if(a=...
阅读(24) 评论(0)

Wannafly模拟赛3 题解

首先大赞Wannafly啊,无私奉献啊有木有。我把我做出来的和补的题写个题解。题目描述 一只南美洲亚马孙河流域热带雨林中的蝴蝶,偶尔扇动几下翅膀,可 以在两周以后引起美国德克萨斯州的一场龙卷风。――蝴蝶效应 由于这个理论的存在,大多数人认为将未来的事物送回过去将会引发 严重的时间悖论,但事实上还存在另外一套理论。 自然会对这类不和谐的蝴蝶效应做出调整,具体地来说就是触发一些 小概率的恶性...
阅读(56) 评论(0)

HDU 4812 D Tree

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4812 题意:给出一棵树,让你寻找一条路径,使得路径上的点相乘mod10^6+3等于k,输出路径的两个端点,按照字典序最小输出。 解法:这类问题很容易想到树的分治,每次找出树的重心,以重心为根,将树分成若干棵子树,然后对于每棵子树再一样的操作,现在就需要求一重心为根,寻找路径,依次遍历每...
阅读(44) 评论(0)

HDU 4804 Campus Design 状压DP

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4804 题意:给定一个图,0是不能放的,然后现在有1X1和1X2方块,最后铺满该图,使得1X1使用次数在C到D之间,1X2次数随便,问有几种放法? 解法:状压DP。dp[i][j][k]代表在第i行,当前状态为j,用了k次1*1的方格的方案数。 #include using name...
阅读(36) 评论(0)

Codeforces Round #439 (Div. 2) 题解

比赛链接:http://codeforces.com/contest/869 A. The Artful Expedient 题意:给你一个n,分别输入两组n个数字,,如果这两组数字两两异或的结果与两组数字中的某一个数字相等,那么就有1个pair满足要求,如果最后结果是偶数个pair,那么就是Karen赢,否则是KOYOMI赢 解法:暴力。实际上,这个题是不可能出现奇数对的情况的,直接输出"...
阅读(38) 评论(0)

HDU 4784 DP

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=4784 题意:一个人要到他男朋友家,他最初有R元以及T分钟的时间来赶到他男朋友家。有N个房子M条道路,每条道路有需要消耗的时间以及过路费,同时还要顺路做食盐生意,起初身上没有食盐,最多带B袋盐,每到达一个地方有三种操作可以选择:1.售出一袋食盐;2:购买一袋食盐;3:什么都不做。然后你以为...
阅读(31) 评论(0)

Codeforces Round #409 Div2题解

比赛链接:http://codeforces.com/contest/801 A. Vicious Keyboard 题意:给出一个只含VK的字符串,你可以把其中一个换成另一个,问最多有几个VK 解法:暴力替换 #include using namespace std; int cal(string s){ int sz=s.size(); int ans=0; ...
阅读(295) 评论(0)

Codeforces Round #437 (Div. 2, based on MemSQL Start[c]UP 3.0 - Round 2) 题解

题目链接:http://codeforces.com/contest/867 A. Between the Offices 题意:水题。 解法:直接模拟,判断SF和FS的个数的大小即可。 #include using namespace std; char s[110]; int main(){ int cnt1=0,cnt2=0; int n; scanf("%...
阅读(295) 评论(0)

HDU 5721 Palace 平面最近点对

问题描述 为了寻找失去的爱人Cupid,Psyche需要完成Venus的最后一项任务:前往冥界,收集一盒冥界皇后Prosperina的美貌。 冥界有nn个神殿,可以表示为平面上的nn个整点。Psyche想要找到这nn座神殿中,最近的两座神殿之间的距离。传说那就是通往主殿的密码。 但是冥界神秘莫测,在不同的时刻,这nn座神殿中的某一座会消失。 Psyche想要知道,对于nn座神殿中的任意一座...
阅读(39) 评论(0)

HDU 5992 Finding Hotels KDtree

题目链接:http://acm.split.hdu.edu.cn/showproblem.php?pid=5992 题意:给出n个酒店,每个酒店有一个花费和坐标。然后给出m个询问,输出离询问最近并且花费在询问要求内的酒店。 解法:第一个想法是两种东西按照花费排序,每次插入新酒店。但是这个插入比较麻烦,在kdtree退化的时候需要及时重构(套个替罪羊树啥的)。 还有一种就是直接建三维kdtree...
阅读(308) 评论(0)

BZOJ 2648 SJY摆棋子 KDtree

Description 这天,SJY显得无聊。在家自己玩。在一个棋盘上,有N个黑色棋子。他每次要么放到棋盘上一个黑色棋子,要么放上一个白色棋子,如果是白色棋子,他会找出距离这个白色棋子最近的黑色棋子。此处的距离是曼哈顿距离 即(|x1-x2|+|y1-y2|)。现在给出N   Input 第一行两个数 N M 以后M行,每行3个数 t x y 如果t=1 那么放下一个黑...
阅读(39) 评论(0)

Codeforces Round #434 题解

题目链接:http://codeforces.com/contest/861 A. k-rounding 题意:有n,k两个数,求对于n 的 k-rounding 数,k-rounding数就是一个有k个后置零的可以被n整除的最小数。 解法:暴力模拟。 #include using namespace std; typedef long long LL; int main() { ...
阅读(57) 评论(0)
1228条 共82页1 2 3 4 5 ... 下一页 尾页
    个人资料
    • 访问:293233次
    • 积分:14634
    • 等级:
    • 排名:第847名
    • 原创:1215篇
    • 转载:13篇
    • 译文:0篇
    • 评论:61条
    文章分类