![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
思维
思维
Cu1ii*
平凡的铁匠
展开
-
ACM ICPC Greater NewYork Region 2015(补)
E: A Rational Sequence 2题意理解:就是让你在满二叉树上寻找规律,根据给出的p,q推出对应的编号;利用每个左子节点编号是父节点遍号 * 2 ,右子节点编号是父节点编号 * 2 + 11 并且如果 p > q那么是往上找到第一个p < q的节点一直沿其右节点走那么这个节点的编号是往上找到第一个p < q的节点的编号 * pow(2,k) + pow(2,k) - 1,k是起始节点向下多少层到目标节点(毕竟每向下一层都要*2 + 1,最后就能推出来上面那个原创 2020-10-28 21:27:38 · 163 阅读 · 0 评论 -
codeforces 1422 (#675 div2)
B. Nice Matrix传送门题意:给出一个矩阵,让你做变换(给任一元素加减1)使得矩阵任一行列均为回文,求出最少的变换次数.因为数据很小,而且我们发现,枚举一个点,需要把他对应的四个角都要求出来,所以我们直接暴力枚举左上四分之一部分就可以了,但是要注意,如有奇数行或者列出现的时候,枚举的时候要加上,并进行特判借一个图图片地址中间红色就是特判区域#include <iostream>#include <algorithm>#include <cstd原创 2020-10-18 11:11:23 · 145 阅读 · 0 评论 -
2020牛客国庆集训派对day4(补题)
2020牛客国庆集训派对day4B题意: 题意:求最长等差序列的长度。DP:摊派了我讲不明白,参考下这两篇博客吧(捂脸)传送门1传送门2#include<cstdio>#include<iostream>#include<queue>#include<set>#include<algorithm>#include <cstring>#include <string>using namespac原创 2020-10-04 21:47:50 · 988 阅读 · 4 评论 -
Buy and Resell HDU - 6438(补)更新贪心
The Power Cube is used as a stash of Exotic Power. There are nn cities numbered 1,2,…,n1,2,…,n where allowed to trade it. The trading price of the Power Cube in the ii-th city is aiai dollars per cube. Noswal is a foxy businessman and wants to quietly make原创 2020-09-19 20:03:19 · 129 阅读 · 0 评论 -
USACO - 1.1.4 - Broken Necklace
USACO - 1.1.4 - Broken Necklace题目很好懂,思路也很清晰,不就是暴力找断点然后正反各跑一遍,但是这个白色珠子的设定卡了我一上午,连样例都没有过,后来去参考别人的代码,发现了一种已经被我遗忘的处理方法,就是把字符串再加一遍,这样就比我之前写的这个题的代码要更好操作了有一些细节,需要进行处理,比如如果是白色珠子开头或者为结尾,就要让它变成最近的珠子的颜色,这样才能保证从头到尾或者从尾部到头,尽可能的有最大连续相同颜色的珠子大部分解释,都以注释的形式写在代码里了#includ原创 2020-09-12 20:03:06 · 127 阅读 · 0 评论 -
BST poj2309(树状数组lowbit)
题目链接:BST题目很好理解,不再赘述题意思路:看很多文章都说是树状数组,但是我仔细想了想,发现跟树状数组还是有区别的,只能说跟数状数组类似,但是不是树状数组利用树状数组中的lowbit来计算这个二叉树的节点值,从左向下每个节点减的都是当前节点值的lowbit() / 2,那么最后减的总数不就是,给定根节点的lowbit() - 1,同理,从右往下走,加的是根节点的lowbit() - 1,可以拿笔将其转化为二进制试一试,这个值就是根节点lowbit() / 2 的值在二进制的位置然后一直到0原创 2020-08-05 01:50:02 · 147 阅读 · 0 评论 -
Dropping Balls(满二叉树,思维)
UVA679 小球下落 Dropping Balls题目翻译:许多的小球一个一个的从一棵满二叉树上掉下来组成一个新满二叉树,每一时间,一个正在下降的球第一个访问的是非叶子节点。然后继续下降时,或者走右子树,或者走左子树,直到访问到叶子节点。决定球运动方向的是每个节点的布尔值。最初,所有的节点都是 FALSE,当访问到一个节点时,如果这个节点是 FALSE,则这个球把它变成 TRUE,然后从左子树走,继续它的旅程。如果节点是TRUE,则球也会改变它为 FALSE,而接下来从右子树走。满二叉树的标记方原创 2020-07-28 14:19:15 · 548 阅读 · 0 评论 -
Problem G. The Stones Game【取石子博弈 & 思维】
The Stones Game这里直接借用博友的文章,内容链接这里补充一下,上面所说的都说1号前面没有人,但这样解释我个人认为是错误的我个人给出的解释是,只有第一次1号前面没有人,但是当进行了一次之后,就形成了闭环,1号前面是上一次的最后一名,每一轮最多拿m个,最少拿m - 1个,但是如果拿m - 1个,那么下一次的1号一定会未上一轮多补偿一个石子,但是对于当前这一轮来说,1号的第二个操作并不影响这一轮拿石子数量,所以,上面那个对参赛人数求余就是正确的了。#include <iostrea原创 2020-07-22 23:45:49 · 189 阅读 · 0 评论 -
Problem L. Omar’s Bug【分类讨论】
题目链接先插一句,我是fw!#include <bits/stdc++.h>using namespace std;int main() { int T; cin >> T; while (T--) { int n, x, y; cin >> n >> x >> y; if (x <= n && y == 1) { for (int i = 1; i <= x - 1; ++i) cou转载 2020-07-22 22:01:53 · 123 阅读 · 0 评论 -
Benelux Algorithm Programming Contest 2019(B)
Your parents decided that it would be “fun” to spend the entire Sunday walking near the Mookerheide close to Nijmegen.Although you can pass the time by solving programming problems in your head, you...原创 2020-03-22 00:49:18 · 190 阅读 · 0 评论 -
Ants poj1852
Ants题意很清楚,但是刚开始看确实没有任何思路,因为对我来说,即使暴力穷举,由于碰撞问题的复杂性(或者是我单纯的菜)依旧是解决不了的,更何况穷举所带来的指数级的时间复杂度,对于这个数量的数据,基本也会时间超限。之前看了下别人的思路,发现,其实最短时间,只需要蚂蚁将方向转到离端点最近的方向就可以了,至于最长时间,我们可以发现,当将两只蚂蚁无差别话后,两只蚂蚁即使相遇后向反方向行走,但是我们可以看成两只蚂蚁交错过去依旧按起始方向行走,这样每只蚂蚁都是独立运动的,那么只需要算每只蚂蚁掉下去的时间并找出最原创 2020-06-19 13:13:28 · 170 阅读 · 0 评论 -
补 2020年游族杯 (I)Idiotic Suffix Array
题目传送门这个看起来像是一道使用后缀数组及其算法的题目,但是只是一个壳子,本质就是让你写出一个按字典序排序后,在第k个字符串的位置为原字符串的字符串。有两种构造方法:1、一种是在输出前k个排序好的字符串后,不断删减字符原字符串前k - 1个字符,具体原理看代码#include <iostream>using namespace std;string s;int main(){ int n,k,i; cin>>n>>k; for(i =原创 2020-05-26 00:29:36 · 205 阅读 · 0 评论 -
补 ICPC North Western European Regional Contest 2019 i (Inverted Deck)
题目链接思路:先特判是不是整体单调,如果是整体单增,那么输出1 1,若是整体单减则输出1 n,对于剩下的一般情况,从头尾同时找,在两端第一次不同的点为边界,倒置该部分,再进行毕竟,若是不相同,那么直接输出impossible。#include <iostream>#include <string>#include <algorithm>#define MAXN 1000000 + 5using namespace std;int main(){原创 2020-05-13 01:14:38 · 181 阅读 · 0 评论 -
Arab Collegiate Programming Contest 2015(D)
It's 2050. Humans have already colonized Mars and other planets long time ago and there are alreadysome programs for travelling to the other galaxies using wormholes. Scientists are currently studying...原创 2020-03-19 18:33:51 · 179 阅读 · 0 评论 -
Preliminaries for Benelux Algorithm Programming Contest 2019(A)
要求两个天际线的最大值相等,若北部天际线最大值>东部天际线最大值,那么你会发现无论北部天际线最大值放在哪里,都会改变东部天际线的最大值,所以不能满足条件,同理,当北部天际线最大值<东部天际线最大值时也不满足,所以必须满足最大值相等,但是这样还没有证明一定可以构造满足条件的矩阵,其实当最大值相等时,无论北部天际线其余部分如何,只需要找小于等于东部天际线的行放即可,同时东部其余天际线元素也可这...原创 2020-03-14 21:41:07 · 571 阅读 · 0 评论 -
ICPC Asia Taipei-Hsinchu Regional 2019 K Length of Bundle Rope
题目链接:https://www.jisuanke.com/contest/8288/445829又是道思维题。。日常不会思维题系列!思路,利用循环来缩短捆绑个数,直到全部捆绑成一个。排完序之后依次相加可以每次先把前两个相加,数组的第0个元素当做每次捆绑所需的绳子数,再设置一个变量sum每次都加上首元素,再移位把第1个元素消去,然后在把捆绑后的元素当作一个新元素重新排序,再重复操作,直到要捆...原创 2020-04-01 22:18:16 · 411 阅读 · 0 评论 -
牛客 最大字符集
题目链接对于n <= 2的情况,特判,对于n >= 3,个数为n - 1,然后构造 11 101 1001 …总之就是给中间加0#include <iostream>using namespace std;int main(){ int n; while(cin>>n){ if(n == 1){ ...原创 2020-04-18 18:08:00 · 125 阅读 · 0 评论