自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Anxdada -- 我等风来也等你

此博客不会维护了

  • 博客(22)
  • 收藏
  • 关注

原创 Pyhton 的一些注意点

列表的运用 列表的一些运用: 1: s = (list)(input(“请输入一个字符串: “)) 这样就可以直接读到s列表中了.Pyhton日常注意点: 1: 读数据只能换行读, 否则会把一行数据都当成一个数据来读. 2: 你写的这些for, if, while, 等函数都记得打分号! 3: 循环. for i in range(0,n): i 从 0 - n-1循环

2017-11-30 21:04:31 298

原创 BZOJ 1143 祭祀river【二分图之偏序集的最大反链 】 附上网络流做法

传送门 //题意: 就是给定一个有向无环图, 选择尽量多的点使得其中任意的两个点都不能相互到达. //思路: 在有向无环图中,有如下的一些定义和性质: 链:一条链是一些点的集合,链上任意两个点x, y,满足要么 x 能到达 y ,要么 y 能到达 x 。 反链:一条反链是一些点的集合,链上任意两个点x, y,满足 x 不能到达 y,且 y 也不能到达 x。 那么很显然这道题就是求最长反

2017-11-30 18:52:24 514

原创 HDU 6166 Senior Pan 【二进制分组最短路 】 好题

传送门 //题意: n个点m条边的有向图, 给出询问的k个点, 问这k个点中最短路径是多少. //思路: 有个最明显的思路就是加一个超级源点S和超级汇点T, 然后连接询问的那些点, 然后跑一遍最短路即可, 问题就是万一同时连接到了一个点, 那怎么算最短路了, 我们可以知道这些点可以分为两个集合, 一个是起点集合, 一个是终点集合, 而我们的目的就是把正确的点放在相应的集合中, 这样答案一定就可

2017-11-30 00:31:20 651

原创 Gym 101615C 【数学思维】

传送门 //题意: 给定一个L, R(均小于1e12 但是R - L <= 1e6 的), 然后求sigma(f(i)) ( L <= i <= R) , f(n)的定义是n的所有的因子之和(包括1和本身). //思路: 我的第一想法就是用约数个数和定理, 但是想了一会就否定了这个想法, 因为复杂度确实是不能过关的, 然后有一个想法就是统计每一个数字的贡献度, 因为因子是双向的, 那么我

2017-11-30 00:30:06 574

原创 最大01矩阵相关题目 【经典的悬线法】 bzoj1057

好的博客首先01相间矩阵是全1或全0 的一种特殊求解方式,所以只要掌握到了全1(全0)最大矩阵的求解方式,那么这个相间矩阵也就求出来了。其实这也是白书上的一道经典的例题,就叫做悬线法。下面的是白书的解法(求解的是全1矩阵)。我们把每个点向上延伸的连续的1看成一条悬线,并且用up(i,j),left(i,j), right(i,j) 表示格子(i,j) 的悬线长度以及该悬线向左、向右运动的“运动极限”

2017-11-26 01:16:14 789

原创 CF contest 888 problem E 【思维 + 状压 + 中途相遇法(折半搜索)】

传送门 //这道题和LA 2965非常像,不过更简单一点, //题意就是从n个数中选取一些数使得他们加起来 % m 尽可能的大, 很容易有一种想法就是二进制枚举, 但是2^35次方非常大 , 所以我们需要用到中途相遇法, 即我们二进制枚举前一部分, 把所有可能的和存起来, 然后再二进制枚举后一部分, 对于后一部分每一个我们枚举出来的和, 在前面二分找出离和当前和相加最大并不超过m-1的数(

2017-11-26 00:16:24 387

原创 求组合数的一个递推板子(取模循环的和更加适用于取mod并且范围较大的)

ll C[1001][1001];void calc_Cmn()//求组合数{ for(int i=0;i&lt;1001;i++) { C[i][0] = C[i][i] = 1; for(int j=1;j&lt;i;j++) C[i][j]=C[i-1][j-1]+C[i-1][j]; }}//这个求组合数是上限, 我们可以知道

2017-11-25 20:50:40 527

原创 Wannafly 挑战赛 4 C 题 割草机 【模拟】

传送门 //题意: 题意就是开始位于(1,1)处, 面向右方, 然后每次 只能向面朝的方向移动, 每次向下移动面朝方向反向, 每次移动花费1时间, 问吧所有的草除掉, 最少要用多少时间.//思路: 很明显在奇数层只能往右走,偶数层只能往左走, 并且不能回头, 那么走的方式也只有一种, 由于只能向面朝的方向走, 所以我们可以记录每一行它草地的在最左方和最右方的列标, 然后通过比较这一行和下一行

2017-11-25 10:53:20 452

原创 牛客练习赛5 D题 next_permutation 函数的使用

传送门 //题意: 中文就不说了. //本题的目的是掌握一个函数叫next_permutation 的用法, 它简单的称呼就是叫做全排列, 即自动遍历到其所有的全排列, 所以一般使用字符串的形式, 实质上是遍历字典序, 所以我们需要先对字符串进行排序, 然后用do, while 循环即可, 具体用法请看代码 , 记住它是遍历一个字符串的函数, 并且是从字典序开始遍历的就OK了, 然后用do wh

2017-11-22 22:21:02 381

原创 HDU 1087 Super Jumping! Jumping! Jumping! 【简单dp思维题】

传送门 //题意: 求一个上升子序列并使他们的和最大!!! //思路: 设dp[i] 为从1 到 i 中是上子序列可以得到的最优值, 那么对于每一个当前数我们遍历其前面比它小的然后你更新当前dp值就行了. 注意一点就是它最少会选一个, 即初值应该设置原序列的一个值. 而不是0.AC Codeconst int maxn = 1e3+5;int cas=1;int dp[maxn],a[max

2017-11-22 19:52:50 267

原创 HDU 5074 Hatsune Miku 【dp思维】

传送门 //题意: 给一个m*m的矩阵, 有n个数a[i]. 然后定义score(i,j)是矩阵第i行第j列的值, i, j分别是a[i]和a[i+1]. 现在给出了n个数a[i], 如果a[i]是-1, 那么就可以把a[i]变成1~n里面的任意一个数。现在问能得到的最大分数是多少.//思路: 简单的dp. 设dp[i][j]代表前i个数最后一个为j时的最大分数 所以只需要分两种情况讨论下就可以

2017-11-22 01:00:37 323

原创 ZOJ 3956 Course Selection System 【 思维 + 01背包 】

传送门 //题意:就是选择很多对然后左边的相加是H(x), 右边相加是C(x), 最后要使得题目中给出的那个公式算出来的答案要最大. //思路: 我们观察可以发现C的值比较小, 只有100, n又只有500, 所以(求和)C最大只有5e4, 所以我们可以找出对于每一个容量(1-5e4的每一个数看作是一个容量), 它对应的最大值是多少, 也就是类似于01背包了, 所以做一次01背包算出对应的最大

2017-11-21 21:29:12 264

原创 CF #contest894 B,C 题题解

题目传送门 B: 题意:就是给一个n*m的矩阵, 然后可以在这个矩阵上填数字, 使得每一行和每一列乘起来都等于k(1 , -1) ,输出方法数% 1e9+7,因为k的特属于 正解: 每一行和每一列的最后一个空格留下来 改变这一行或者这一列的状态,其他所有的空格都是可以随意放的 所以就有 2^((n-1)*(m-1))的情况  另外注意 当 k == -1 时 假设所有的空格都放置 -1 如果 n

2017-11-21 19:56:08 286

原创 牛客练习赛6 B,D 题解

比赛传送门 B: 首先不要把题想太复杂了, 只需要维护好几个值就OK了, 首先是5个数组 fa[x] 表示 x 的父亲是谁 son[x] 表示x有说多少个儿子 op[x] 表示x被操作的次数 a[x] 表示x的儿子对x的影响数 b[x] 表示x的孙子对x的影响数有了这些的基础, 那么对于每次我们操作的点u的点权和res, 首先是他父亲对他的影响 res += a[fa[u...

2017-11-21 00:15:21 493

原创 留着用的输入输出挂

只能读int, 正负int都能读. (多校保存的输入挂).struct FastIO{ static const int S = 2*100; int wpos; char wbuf[S]; FastIO() : wpos(0) {} inline int xchar() { static char buf[S]; ...

2017-11-20 23:42:29 328

原创 CF contest 892 D题 Gluttony

传送门 //题意:对于给定的一个长度为n的a序列, 重排a序列构造一个b序列, 使得b序列中任意一个连续区间中的和 (sum) 和 原先a序列对应的区间的和(sum) 不相等(除去全体的前缀和). //思路:因为题目中给的是n个不同的数, 所以首先一定有解, 那么如何构造了, 我么可以假设一个序列 1 2 3 4 5 那么如何重构b序列了, 我们可以发现每一个数我们可以选择一个比它小的数相

2017-11-19 20:57:19 442 1

原创 CF #890 D 题 【图论 + 思维】

传送门 //题意: 构造一个尽量短的字符串, 使得给出的n个字符串在构造的那个串中出现的次数是最多的(即这n个字符串出现的次数是一样的) //其实通过观察可以发现, 这个字符串中每个字母最多只能出现一次, 如果有两次的那么这个单个字母构成的字符串就是最多的了。其次, 我们还可以发现这些字母之间的顺序时固定的, 即一些字母一定在一些字母的前面, 所以我们就可以想到用拓扑序的方法, 把这些字母全部连

2017-11-16 19:22:29 330

原创 QT 入门学习博客

总的学习博客Qt入门-QPushButtonQt入门-调色板QPalette类用法详解Qt入门-QFontQT入门 - QLaelQT入门 - QLineEditQT入门 -

2017-11-12 16:49:09 659

原创 zoj 3988 Prime Set 【二分图最大匹配 + 思维】

//这可是秦皇岛的金牌题啊, 哎 , 当时没有时间来搞这个题目了, 否则感觉可以出的!!! 可惜啊.传送门 //题意: 给你n个正整数, 一对和为素数的数为一个合法数对. 你选不超过K个合法数对, 使得你选的数对涉及到的数的数量最大化. 输出这个值. 思路: 通过观察可以发现, 我们可以先筛素数2e6以内的, 然后对这n个数进行建边, 符合条件的就有一条边, 然后跑二分图最大匹配, 那么结果就是

2017-11-07 22:25:11 562 1

原创 codeforces 877 problem B Nikita and string 【思维 + 前后缀思想】

传送门 //题意: 题意很简单, 就是给定一个ab字符串问构成形如a b a 的格式的最多可以留下多少个字符,其中相应的格式可以为0. //思路: 可以看出他们的相对位置非常重要, 所以我们利用前后缀的思想, n^2暴力枚举, 就可以得出最后答案了. 注意我们枚举的是b的所在长度. 为了前后缀当然我们要把他们转化成相应的01字符串就好做了赛.其实这一类相对位置很重要的题目一般都是利用的前后缀的

2017-11-06 15:25:26 346 1

原创 codeforces 877 problem D Olya and Energy Drinks 【bfs剪枝】

传送门 //题意: 就是给定一个起点和一个终点, 每次可以往四个方向最多走k步, 每次走花费一秒, 问走到终点最少需要多少秒. //思路: 直接bfs肯定会T, 我们需要加上几个剪枝, 一个是当我们走到某点时, 该点曾经被到达过,并且此时的时间比从当前点走到这个点的时间还要短, 那么就不要走了, 因为后续的点由这个点到达更优一点. 具体细节请看代码.AC Codeconst int maxn

2017-11-06 15:18:28 336

原创 codeforces 877 problem E Danil and a Part-time Job 【dfs序 + 线段树区间异或修改】

传送门 //题意: 给定一颗有根(1 )树,树上每一个点起始都有一个值(0或1),然后有两个操作,pow x把以 x为根的子树全部异或1, get x输出以x为根的子树中有多少个1. //思路: 就是一个最裸的dfs序 + 线段树异或修改的,细节请看代码. 注意就是求一个区间中的1,那么就是区间长度-此时区间的值, 然后就是修改下lazy标记处就是了. 还有就是线段树中是dfs序的一些线段,所以

2017-11-06 15:11:51 496

空空如也

空空如也

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

TA关注的人

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