- 博客(16)
- 收藏
- 关注
原创 P1879 [USACO06NOV] Corn Fields G
农场主 JohnJohn 新买了一块长方形的新牧场,这块牧场被划分成 M 行 N 列 (1≤M≤12,1≤N≤12),每一格都是一块正方形的土地。JohnJohn 打算在牧场上的某几格里种上美味的草,供他的奶牛们享用。遗憾的是,有些土地相当贫瘠,不能用来种草。并且,奶牛们喜欢独占一块草地的感觉,于是 JohnJohn 不会选择两块相邻的土地,也就是说,没有哪两块草地有公共边。JohnJohn 想知道,如果不考虑草地的总块数,那么,一共有多少种种植方案可供他选择?(当然,把新牧场完全荒废也是一种方案)
2024-02-08 17:37:09
692
原创 P1407-稳定婚姻
若某男 Bi 与某女 Gj 曾经交往过(无论是大学,高中,亦或是幼儿园阶段,i≤j),则当某方与其配偶(即 Bi 与 Gi 或 Bj 与 Gj)感情出现问题时,他们有私奔的可能性。若在 Bi 和 Gi 离婚的前提下,这 2n 个人最终依然能够结合成 n 对情侣,那么我们称婚姻 i 为不安全的,否则婚姻 i 就是安全的。我们将所有关系连成图,我们惊讶地发现(好像不是很惊讶),当两个配偶之间的存在环时(或他俩是强联通分量),那么所有人都会私奔,他们之间的关系是不稳定的。
2024-02-07 20:22:07
828
1
原创 连续攻击游戏
(一道有难度的蓝)lxhgww 最近迷上了一款游戏,在游戏里,他拥有很多的装备,每种装备都有 22 个属性,这些属性的值用 [1,10000][1,10000] 之间的数表示。当他使用某种装备时,他只能使用该装备的某一个属性。并且每种装备最多只能使用一次。游戏进行到最后,lxhgww 遇到了终极 boss,这个终极 boss 很奇怪,攻击他的装备所使用的属性值必须从 11 开始连续递增地攻击,才能对 boss 产生伤害。
2024-02-06 20:23:09
292
1
原创 P2391 白雪皑皑
柴门闻犬吠,风雪夜归人”,冬天,不期而至。千里冰封,万里雪飘。空中刮起了鸭毛大雪。雪花纷纷,降落人间。美能量星球(pty 在 spore 上的一个殖民地)上的人们被这美景所震撼。但是 pty 却不高兴,他不喜欢白色的世界,他觉得这样太单调了。所以他想对雪花进行染色,让世界变得多彩些。
2024-02-06 19:24:02
529
1
原创 P2024-食物链
动物王国中有三类动物 A,B,C,这三类动物的食物链构成了有趣的环形。A 吃 B,B 吃 C,C 吃 A。现有 N 个动物,以 1∼N 编号。每个动物都是 A,B,C 中的一种,但是我们并不知道它到底是哪一种。1 X Y2 X Y此人对 N 个动物,用上述两种说法,一句接一句地说出 K 句话,这 K 句话有的是真的,有的是假的。当一句话满足下列三条之一时,这句话就是假话,否则就是真话。你的任务是根据给定的 N 和 K 句话,输出假话的总数。
2024-02-06 18:54:30
394
1
原创 没有上司的舞会(树形DP)
某大学有 �n 个职员,编号为 1…�1…n。他们之间有从属关系,也就是说他们的关系就像一棵以校长为根的树,父结点就是子结点的直接上司。现在有个周年庆宴会,宴会每邀请来一个职员都会增加一定的快乐指数 ��ri,但是呢,如果某个职员的直接上司来参加舞会了,那么这个职员就无论如何也不肯来参加舞会了。所以,请你编程计算,邀请哪些职员可以使快乐指数最大,求最大的快乐指数。
2024-02-05 19:03:54
260
1
原创 采药(01背包)
医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要一些时间,每一株也有它自身的价值。01背包处理的问题是关于如何在有限的空间内取得最多的问题(有点像贪心),想象你去野餐,你的包只有那麽大,能拿的东西是有限的:餐巾纸、手电筒等等,每个物体只能选一次,求最优解。第一行有 22 个整数 �T(1≤�≤10001≤T≤1000)和 �M(1≤�≤1001≤M≤100),用一个空格隔开,�T 代表总共能够用来采药的时间,�M 代表山洞里的草药的数目。
2024-02-04 19:56:38
301
1
原创 windy数(dp的进阶应用)
不含前导零且相邻两个数字之差至少为 22 的正整数被称为 windy 数。windy 想知道,在 �a 和 �b 之间,包括 �a 和 �b ,总共有多少个 windy 数?:题目描述指向dp挺明显的,用数位dp做的(注意0不是windy数),看洛谷大佬都是用的记忆化搜索或分布处理,鄙人(输入只有一行两个整数,分别表示 �a 和 �b。windy 定义了一种 windy 数。)用的多开1维来表示当前位的大小,输出一行一个整数表示答案。祝大家答题一遍AC!
2024-02-04 19:07:22
271
1
原创 关于dp(1)
1、区间dp 背包dp 树形dp 数位dp 状态压缩dp 排列dp 博弈dp 插头dp 一般dp 期望dp。对于1-n的所有序列(不重复),求“激动数”等于k的个数(激动数为序列中大于前面所有数元素的个数)f[i][j],i为从高到低填了几位,j为当前选的位是否等于x,值为方案数。分为三个变量:个数、最多价值、体积(限制条件)转移方法:把所有数从小到大或从大到小插入。转移方法:从高位开始一位一位填y的值。dp三大要素:初始化、状态、转移。无穷背包问题:每个物品有无数个。有限背包问题:每种物品有有限个。
2024-02-04 16:39:06
258
1
原创 Monkey King(警钟长鸣!!)
题目大意:两只猴子如果不认识,会找来自己认识最强的人决斗,决斗两人怒气减半,然后认识。警钟长鸣:printf加了个&,把地址输出了!认识的猴子不会决斗。
2024-02-03 19:05:47
270
1
原创 左偏树的应用(罗马游戏)
题解:题目指向并查集的趋向十分明显,对于合并和删除,我们运用左偏树进行实现。如果节点的左子树和右子树均为空,则该节点被称为外节点,其距离定义为0。距离(distance):描述节点到其最近的外节点的最短路径长度。键值(key value):用于比较节点大小的唯一标识符。每个节点的键值小于或等于它的左右子节点的键值。一个节点的距离等于它的右子节点的距离加上1。1、并查集构建(针对加点和优化路径)
2024-02-03 14:43:58
198
1
原创 中位数(堆的应用)
解题:一开始想到sort暴力,只能过40%的数据。转而去用一个大根堆和一个小根堆去做分配。然后将a[1]输出,定义mid为进入哪个堆的“裁判”,将mid初始赋值成a[1].当为奇数时,将两个堆进行平衡,将mid设为堆顶元素。就可以了(貌似不用mid也能过,但判断麻烦很多)
2024-02-03 11:47:02
198
1
原创 二维偏序(三维偏序的基础)
在刷题的过程中,我们经常会遇到求某个二维图区间点的数量,用暴力求解的时间复杂度明显不够优化,使用树状数组后的O(logm*n)明显更使人接受。2、构建树状数组(注意所有坐标y值+1,树状数组是以1为起始点的!例题:给定n和n组x、y,求解每个点各有多少点在其左下方。1、用结构体输入x\y,并将其以x为关键字进行排序。3、对所有点进行前缀和输出。
2024-02-03 09:11:03
238
1
原创 单元最短路
很明显,它的时间复杂度为O(n2),也不能对负环进行判断。2、从圈内抓一个最近的点维护其d[i],并将其vis设为出圈。dijkstra是基于贪心的单元最短路算法。2、对队首u进行扩展,若其扩展过,则跳过。1、我们初始将起点入队,d[s]=0,其余点为INF。1、初始所有d[i](除起点外)到起点的距离都为。3、进行松弛操作,尝试更新最小距离。一、dijkstra算法。3、重复松弛将队列清空。
2024-02-02 20:16:17
161
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅