
思维
我的程序跑快快
这个作者很懒,什么都没留下…
展开
-
蓝桥杯 算法提高 ADV-277 The Islands(记录转移的简单动态规划)
题目大意:二维平面上有n个点,每个点的坐标是整数,其中有两个特殊点A和B,现在把所有的点按照x坐标从小到大排序,要求一条从起点S到终点T再回到S的最短路径,要求每个点都要经过一次,并且在从S到T的过程中x坐标只能单增,从T回到S过程中x坐标只能单减。A点和B点要分别在去和回来的路上。要计算出最短路径长度,并输出路径。思路:假设节点从 111 号点到 nnn 号点 xxx 坐标依次增加。问题就...原创 2019-12-26 18:54:30 · 873 阅读 · 0 评论 -
2019年ccpc哈尔滨站J题 Gym - 102394J Justifying the Conjecture
题目大意:输入一个数字 nnn,把 nnn 拆成一个质数 + 一个合数 的形式分析:思维技巧题:nnn 如果小于等于 555 就输出 −1-1−1,不能完成的任务nnn 如果是奇数那就拆成 333 和 n−3n-3n−3nnn 如果是偶数就拆成 222 和 n−2n-2n−2代码:#include <stdio.h>using namespace std;in...原创 2019-11-14 11:00:26 · 409 阅读 · 0 评论 -
HDU - 2110 Crisis of(思维 / 母函数)
思路:记:sum=∑i=1npi∗misum = \sum_{i=1}^{n}p_i*m_isum=i=1∑npi∗mi构造母函数:Πi=1n(∑j=0mi(pj∗xj∗pj))\Pi_{i=1}^{n}(\sum_{j=0}^{m_i}(p_j*x^{j*p_j}))Πi=1n(j=0∑mi(pj∗xj∗pj))展开之后,关于xxx的多项式:a0+a1∗x+a2∗x2+...原创 2019-10-31 21:10:50 · 255 阅读 · 0 评论 -
HDU - 5039 Hilarity(树dfs序+线段树)
题目大意:输入一颗n(n≤30000)n(n≤30000)n(n\le30000)个点的无根的边权树,边权值域 {0,1}{0,1} \{0,1\} 。 之后有m(m≤60000)m(m≤60000)m(m\le60000)次操作,操作分为两种。 第一种:修改某一条边的权值(从0变1 或 从1变0); 第二种:查询整棵树有多少条不同的路径满足,路径权值和为奇数。分析:首先...原创 2018-05-10 23:34:29 · 334 阅读 · 0 评论 -
HDU - 6053 TrickGCD(莫比乌斯反演+容斥思想+分块前缀和技巧)
题目大意:给你一个数组 A ,问你有多少不大于 A 的数组 B 使得 B 中所有元素的最大公因数不为1。(数组 B 不大于数组 A 就等价于,对于任意 A 数组中的元素 a [ i ] 和 B 数组中对应元素 b [ i ] ,均有:a [ i ] >= b [ i ])思路:容斥思想:该问题就可以转化成求有多少数组 B 满足:B 中的所有元素的最大公因数为 1。莫比乌斯反演:原创 2018-01-10 23:48:06 · 367 阅读 · 0 评论 -
HDU - 5952 Counting Cliques(图上暴力搜索+技巧剪枝)
题目大意:给你一个无向图,100个点1000条边,问你这个图中有多少个小于等于s的点集可以组成一个完全图。s<=10原创 2017-10-19 21:56:53 · 514 阅读 · 0 评论 -
CodeForces - 827B High Load(贪心+思维)
题目大意:给你n个结点,其中有k个结点是出入结点,让你把这n个结点连出一个树,使得最远的两个出入结点的距离最近,并保证所有度为1的结点为出入结点。原创 2017-09-12 22:57:29 · 458 阅读 · 0 评论 -
CodeForces - 822C Hacker, pack your bags!(区间端点处理技巧+思维)
题目大意:给你n个区间,每个区间有一个对应的花费。现在给你一个固定区间长度x,让你找出不重叠的两个区间,他们的区间长度之和为x,并且花费之和最少,问你最少的花费为多少。原创 2017-09-02 11:02:53 · 646 阅读 · 0 评论 -
CodeForces - 819B Mister B and PR Shifts(线性dp+思维)
题目大意:现在有一个1~n的全排列,然后定义对于每个数aia_i,disi=|ai−i| dis_i = \vert a_i-i \vert ;然后这一串数可以整体向后平移,最后一个跳转到第一个,现在问你如何平移才能使得,∑ni=1disi\sum_{i=1}^{n}dis_i取得最小值。原创 2017-09-08 11:47:04 · 522 阅读 · 0 评论 -
CodeForces - 818D Multicolored Cars(思维)
题目大意:首先,给你一个数列1e6,并给定你一个数字A,然后让你选出一个数字B,满足,对于数列中任意一个位置,该位置之前出现的A的个数不大于B出现的次数。原创 2017-09-07 11:45:47 · 415 阅读 · 0 评论 -
CodeForces - 827A String Reconstruction(思维+字符串处理)
题目大意:有一个字符串,最长1e6,现在给你若干个它的子字符串,每个子字符串长度不超过1e6,最多给你1e5个子字符串,告诉你第i个字符串出现了ki次,并告诉你它每次出现的位置。所有子字符串的长度之和不超过1e6,出现的次数总和也不超过1e6。然后问你最短的满足要求的字符串中字典序最小的那个是什么。原创 2017-09-04 16:44:45 · 696 阅读 · 0 评论 -
2017百度之星初赛(B) 1001 Chess(思维+Lucas)
题目大意:给你一个 m*n (0< m <1000,0< n <1000)的棋盘,问你在上面放最多的棋子的摆放方法的种数。要求:对于每一个棋子,它的上面每一行的棋子都必须在它的左边。且每一行只能有一个棋子。原创 2017-08-14 10:49:35 · 548 阅读 · 2 评论 -
HDU - 6105 Gameia(对战策略)
题目大意:给定一棵树作为棋盘,两个人进行对战,A玩家每次操作为选定一个空点标记白色,B玩家每次操作为选定一个空点变为黑色,并把与该点直接相连的点同时变为黑色。同时B玩家作为vip,还可以在任意时刻删除任意两点之间的一条连线,共可进行k次操作。现在规定,在棋盘铺满之后,如果棋盘中还有白点,那么A玩家获胜,否则B玩家获胜。A先下,问谁能获胜。原创 2017-08-11 13:23:10 · 375 阅读 · 0 评论 -
HDU - 6121 Build a tree(分治+思维)
题目大意:给你一颗 n 个节点的完全 k 叉树,问你这棵树中所有子树结点个数的总异或值。原创 2017-08-18 09:38:52 · 585 阅读 · 0 评论 -
HDU - 6140 Hybrid Crystals(思维)
题目大意:给你 n 个数(1000),每个数 0<=a[ i ]<=1000,对于每个数,它有一个 b[i] 与它对应,b[ i ] 有三种值:D、L、N,分别表示 a[ i ] 只能取负,只能取正,既能取负又能取正。现在给你一个整数 k ,问你是否可以从 a 中选取若干个,使得它们的和正好等于 k 。并且告诉你 a 数组的一个限制:每一个 a[i] 都小于等于之前所有 a 的选取组合的最大值......原创 2017-08-18 09:14:52 · 326 阅读 · 0 评论 -
HDU - 6103 Kirinriki(字符串匹配+思维)
题目大意:就是给你一个字符串,让你从中选取两个不相交的子串,使得它们在差不超过 m 的前提下尽可能的长,问你最长可能的长度。两个子串的差定义为两个子串一个正向遍历一个同时反向遍历,对应位置字符差的绝对值的和原创 2017-08-10 20:52:14 · 667 阅读 · 0 评论 -
HDU - 6092 Rikka with Subset(动态维护思维)
题目大意:有一个数列 a[] ,长度(n<=50)。b[i] 表示元素和为 i 的集合个数。给你一个数列 b[] ,长度(m<=10000),让你求 a[],并按照其字典序最小输出。原创 2017-08-08 18:21:59 · 1068 阅读 · 3 评论