- 博客(9)
- 收藏
- 关注
原创 Codeforces Round 994 (Div. 2) D. Shift + Esc
2.从左边转移,当k确定,矩阵确定,转移时只需要考虑j-1列,不需要考虑更小的列,总代价=j-1列代价dp[i][j - 1][k]+元素值A[i][tr]状态转移:1.从上面转移,总代价=原代价best[i-1][j]+元素值A[i][tr](tr为偏移后的列)+偏移代价k*cost。状态表示:dp[i][j][k]表示走到矩阵i行j列,i行偏移k次的最小代价;best[i][j]表示走到矩阵i行j列的最小代价。
2025-01-09 15:26:26
141
原创 Educational Codeforces Round 173 (Rated for Div. 2) D - Problem about GCD
考虑不互质的数对的公因数,公因数中含2的最多15*15对,公因数中含3的最多10*10对,公因数中含5的最多6*6对…只有这些对将900对全部填充,才有可能全部不互质。然而当考虑到公因数含37的对时,剩余需要填充450对。将450对分给一段区间30个数,至少有一个数分到15对。当一个数分到15对时,15个37以上的数的乘积超过1e18,矛盾。因次必然存在互质的对。1e18范围内存在两段连续区间,分别从中挑选出一个数,组成对。区间长度均大于等于30时,必然存在互质的对。
2025-01-06 18:44:18
152
原创 写给开始学习算法的自己
CF #747 (Div. 2)总结平时的练习就好像捞薄弱项的漏勺,虽然没办法一次捞上来很多,但是捞的次数多了总会有些收获。比如今天的这场,捞出了很多平时不注意改正的不好的习惯和细节。1.c题拖延了很多时间,错过了这次上分的关键。关键错误是两层循环的for,里面的那一层应该用j的用了i,导致判断的不是每次变化的j的情况,导致出错。平时写代码时大多数情况都只需要一层循环,写顺手了i往往导致写j时非常不习惯。除了循环内的变量,内层for条件语句里的j因为for语句配合i写得多,也常常写串门,导致出错。这种
2021-10-09 03:18:18
132
原创 博弈论中的必胜态与必胜态
信息竞赛新手对博弈论接触的并不多,在打一场牛客竞赛时暴露了问题。比赛之后回看题解,也有很多地方想不通。在终于搞懂之后,把自己当时的疑惑以及过程中的思考贴上来。1.首先最大的疑惑就是为什么有只有必胜态或者必败态。凭什么就凭一个状态,就能断定不是输就是赢呢?这是当时最百思不得其解的一点,这和我们很多常识相反。例如象棋,围棋,如果存在必胜或必败策略,那么竞赛还有什么意义呢?我们平时的竞技类游戏存在必胜策略,实在是有冲击性。想不通这点,博弈相关始终是糊糊涂涂的。比赛时,我始终在想,如何确定这个游戏是存在必胜或必
2021-07-18 15:24:00
1763
1
原创 关于整型while(left<=right)类二分法的新发现。
关于整型while(left<=right)类二分法的新发现。做“最少拦截系统”这道题时看到一个二分解法http://www.myexceptions.net/c/1805037.html。题解看了很长时间没怎么看懂,最后研究了下while(l<=r)这类二分法,才发现其实核心思想很简单而且精妙。先说结论:(底附一个while(left<=right)类整型二分模板)从小到大排序对下标进行二分搜索,没有找到精确答案(A[i]==a),退出循环时:1.必然是right在左,left
2021-01-23 18:55:05
1047
转载 2021-01-15
【阿杰程序4】Morse密码翻译原题目名字:P,MTHBGWB题目给人都看傻了,网上搜题解的时候看见了这个神码。可惜题解是图片形式,搜不到而且很冷门,但是结构体用的真的是很精妙。当时印象非常深刻,想着就算没学过结构体也要硬着头皮仿一个。比较神奇的是出了一个bug:网页复制字母对应morse码,鼠标拖长过了代码框,结果把代码框外面的制表符复制来了(复制来的制表符在vs里不显示!这意味着干看是没有bug的!只能通过运行模拟过程debug)。因为这个卡了两天,最后硬是输出过程中代码转换的部分,发现
2021-01-15 14:01:53
148
原创 2021-01-15
【阿杰程序3】十六以内的进制转换(含十六)现在看就不是很难了但是确实是刚入门阶段遇到的的难题失误较多 花了很多时间修改矫正写出的答案对基础的巩固很有帮助//输入只有一行,包含三个整数a,n,b。a表示其后的n 是a进制整数,b表示欲将a进制整数n转换成b进制整数。//a,b是十进制整数,2 =< a,b <= 16。//Sample Input:15 Aab3 7//输出包含一行,该行有一个整数为转换后的b进制数。输出时字母符号全部用大写表示,即(0,1,…,9,A//,B,…
2021-01-15 13:43:53
88
原创 2021-01-15
【阿杰程序2】阿杰抽签小程序V1.0入门写的第二个欢乐程序主要就是皮,写着玩的比较亮眼的是随机生成函数的使用#include#includeusing namespace std;int main(){loop:cout<<"---------阿杰抽签小程序V1.0---------"<<endl;cout<<"| 主菜单 |"<<endl;cout<<"|
2021-01-15 13:38:46
240
1
原创 2021-01-15
【阿杰程序1】梯形的面积刚入门写的第一个程序#include<iostream>using namespace std;int main(){ int a,b,h,S; cout<<"梯形的上底="; cin>>a; cout<<endl; cout<<"梯形的下底="; cin>>b; cout<<endl; cout<<"梯形的高="; cin>
2021-01-15 13:34:18
75
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人