随笔分类 -  思维

上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 23 下一页
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 旋转和翻转,会发现。 如果可以顺着某个方向一直放的话。 总是能转换成往下或者往右连的。 则只要能够出现一个连接顺序的循环,则总是有解的。 转化成图论模型 如果一个正方形有A+ 另外一个正方形有A B+C+D 那么从A+连3条边分 阅读全文
posted @ 2017-11-17 20:47 AWCXV 阅读(201) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 给你n个字符串。 让你构造一个字符串s。 使得这n个字符串。 每个字符串都是s的子串。 且都是出现次数最多的子串。 要求s的长度最短,且s的字典序最小。 【题解】 如果s是出现最多的子串。 那么s的任意一个子串也都是出现次数最多的子串。 那么考虑"ab" 阅读全文
posted @ 2017-11-14 07:20 AWCXV 阅读(231) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 给你n个位置,然后让你从某些位置开始的|p|个位置,填上p这个字符串. 问你填的时候是否会发生冲突 输出0 否则输出最终n个位置组成的可能的字符串的总数 【题解】 扩展KMP. 画个图会发现。 相邻的两个填写操作。 只要发生了重叠。想要看有没有冲突。 相 阅读全文
posted @ 2017-11-10 21:20 AWCXV 阅读(107) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 枚举某个顶角的三个相邻面就好。 看看这三个相邻面有没有对应的面。 以及3个相邻面的6个边。 能否分成2个a,2个b,2个c 也即每个数字出现的次数都是偶数。 (因为a,b,c不一定要不一样); 【代码】 阅读全文
posted @ 2017-11-10 18:57 AWCXV 阅读(123) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 最后肯定会形成若干个环的。 把最大的两个环合在一起就好。 每个环贡献: 假设x=环的大小 x x 注意int的溢出 【代码】 cpp include using namespace std; const int N = 1e5; 阅读全文
posted @ 2017-11-10 11:34 AWCXV 阅读(120) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 所有数字的和加上n 1,如果为x则唯一,否则不唯一 【代码】 cpp include using namespace std; int n,x,tot; int main(){ ifdef LOCAL_DEFINE freope 阅读全文
posted @ 2017-11-10 11:31 AWCXV 阅读(181) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 给你一个无限长的序列1,2,3,4... 然后给你n个操作. 每个操作ai,bi; 表示调换位置为ai和位置为bi的数的位置。 (ai,bi 【题解】 肯定和数据结构相关的。 那么大,首先离散化一下。 然后用离散化后的数字来模拟这个swap的过程。 这样 阅读全文
posted @ 2017-11-02 20:06 AWCXV 阅读(150) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 剪刀、石头、布各有r,s,p个生活在同一个村子里。 它们两两之间相遇的几率都相同(相遇后就会按照划拳的规则判断输赢,输的人就死掉了)。 问你最后只剩下剪刀,只剩下石头、只剩下布活着的概率。 【题解】 动态规划 如果从输赢方面去考虑的话很难找到解。 设f[ 阅读全文
posted @ 2017-11-01 21:01 AWCXV 阅读(131) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 给你一个n m的地图。 每个地图为0的时候可以安全走过,且走过后变成1. (一定要离开之后才会变成1) 而为1的则走过之后会掉入下一层。 你一开始在初始位置(x1,y1); 且你想到达位置(x2,y2); 且要求到达(x2,y2)并且掉进下一层。 保证( 阅读全文
posted @ 2017-11-01 20:49 AWCXV 阅读(148) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 已知k门成绩. 总共有n门成绩. 让你构造剩下的n k门成绩,使得这n门成绩的中位数 =y,并且这n门成绩的和要小于等于x. n为奇数 【题解】 首先判断k门成绩的和是不是小于等于x. 然后x sum就是剩下的n k个数字最多能填的和。 可以这样。 既然 阅读全文
posted @ 2017-11-01 20:41 AWCXV 阅读(199) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 n个人站在一排。 每次第一个人和第二个人打架。 输的人跑到队列的尾巴去。 然后赢的人继续在队首.和第三个人打。 谁会先赢K次。 【题解】 会发现,一轮之后就一直是那个最大的赢了。 则第一轮先模拟,有人达到k次就直接输出它。 否则输出那个最大的就好。 【代 阅读全文
posted @ 2017-10-27 09:17 AWCXV 阅读(145) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 给你一个n行的只和位运算有关的程序。 让你写一个不超过5行的等价程序。 使得对于每个输入,它们的输出都是一样的。 【题解】 先假设x=1023,y=0; 即每位都是1和每位都是0; 然后做一下这n个操作。 得出,每一位如果是0的话输出应该是几,以及每一位 阅读全文
posted @ 2017-10-27 09:14 AWCXV 阅读(258) 评论(0) 推荐(1)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 有n个位置,每个位置都可能有不定数量的tank; 你每次可以选择一个位置投掷炸弹。 并且,这个位置上的所有tank都会受到你的攻击。 并且失去一点体力。 然后它们可能会往左走一格,或者往右走一格。 每个tank的体力都为2. 问你打掉所有的tank最坏情 阅读全文
posted @ 2017-10-24 07:17 AWCXV 阅读(118) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 每个图案里面的“洞”的个数都是不同的。 则可以根据这个判别每个图像是什么。 先用dfs确定轮廓之后。 再从每个白点出发dfs,遇到的黑点且没有到达过边界,那么它就是所遇到的黑点里面的“洞”; 计算每个轮廓有多少个"洞"就好 【代 阅读全文
posted @ 2017-10-21 21:08 AWCXV 阅读(221) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 后序遍历的最后一个是根节点。 然后在中序遍历中找到这个节点。 分为左右两段. 然后递归上述操作就好。 题目描述好坑啊。 原来是叶子节点的权值的最小值。。 (叶子节点到根节点的权值和最小的对应的叶子节点的最小权值,,,) 【代码】 阅读全文
posted @ 2017-10-20 21:18 AWCXV 阅读(170) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 直接模拟会超时。 根据奇偶的规律。直接判断会往哪里走就好。 每个二叉树的节点。必然是左边和右边走的次数对半分。 奇数左边多一次。 【代码】 cpp include using namespace std; int d1,l1; 阅读全文
posted @ 2017-10-20 18:52 AWCXV 阅读(149) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 肯定用尽量多的4最好。 然后对4取模的结果 为0,1,2,3分类讨论即可 【代码】 cpp include using namespace std; int fix(int x) { int t = x/4; int rest 阅读全文
posted @ 2017-10-15 19:50 AWCXV 阅读(167) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 k=1的时候就是最小值, k=2的时候,暴力枚举分割点。 k=3的时候,最大值肯定能被“独立出来”,则直接输出最大值 【代码】 cpp include define ll long long using namespace st 阅读全文
posted @ 2017-10-15 19:47 AWCXV 阅读(241) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 让你找到一个各边和坐标轴平行的矩形。使得这个矩形包含至少K个点。 且这个矩形的面积最小。 【题解】 把所有的“关键点“”都找出来。 然后枚举任意两个点作为矩形的对角。 然后看他是不是包含了至少K个点即可。 【代码】 阅读全文
posted @ 2017-10-15 07:14 AWCXV 阅读(274) 评论(0) 推荐(0)
摘要:【链接】 "我是链接,点我呀:)" 【题意】 在这里输入题意 【题解】 用set来解决这个问题。 考虑如何表示 { {{}} }这个集合 我们可以把{}这个集合和一个数字映射 1 然后把1加入到某个set里面去 即 {1} 则这就对应了 { {} } 然后把{1}也用一个int对应 2 然后把2加入 阅读全文
posted @ 2017-10-12 16:13 AWCXV 阅读(104) 评论(0) 推荐(0)

上一页 1 ··· 8 9 10 11 12 13 14 15 16 ··· 23 下一页