摘要:
这题本来挺简单的,但是考场上没想出来 题意 构造一个数,使得是 的数位有 个且没有相邻的两个数位上的数字一样,多组数据。 分析 我们看到这道题,很容易想到贪心。对于从左到右依次考虑每个位,选和上一个位不同的数。这个思路很简单,但是会被这组数据卡掉: 输入: 0 1 2 阅读全文
摘要:
迭代加深搜索和 IDA* 详解 阅读全文
摘要:
本来作者是小学生且 CSP 打的巨烂,但因不明原因能去被 NOIP 暴打打 NOIP...(可以看我的 CSP 游记,分数根本不够的) 开考前一天 随便做了一些绿题,由于要考试了吃了一只烤鸡 吃完和某同学比赛敲红题,输了 开考了 首先开了 T1,结果读错了题 码了百行代码,却发现出了错 含泪全删重构 阅读全文
摘要:
寄了 好吧,毕竟我才五年级 Mit 分比我高多了qwq Day -2 在复习...玩了一会儿虚拟机 Day -1 还在复习...还在虚拟机搭了一个OJ 复习了一会儿图论,感觉很无聊 Day -0.5 晚上睡不着,在床上坐着 Day 0.5 上午打J组 T1一眼秒了,半分钟写完。T2看了一眼感觉模拟, 阅读全文
摘要:
思路 首先我们知道这次考试的另外一题是爆搜。 于是我们想到这题也是爆搜。 但是看一眼数据范围,好像直接爆搜会TLE。 既然会TLE,那就记忆化嘛。 本题完结。 代码 #include <iostream> using namespace std; const int mod=1000000007; 阅读全文
摘要:
看各位大佬用的都是排序+dp,让我来一发玄学时间复杂度的dfs+dp。 dfs 得先设参数,我们设 dfs(p,minn,fa)\operatorname{dfs(p,minn,fa)}dfs(p,minn,fa) 表示当前走到第 p\operatorname{p}p 个点,走过的价格最小值为 阅读全文
摘要:
题目链接 思路 这道题一眼的dp dp首先要设状态,一个很容易想到的状态就是dp[i]dp[i]dp[i]表示前iii个数有多少种答案。但是我们会发现:dp[i]dp[i]dp[i]很难从前面的答案转移过来,因为不知道上一次选的数是否大于a[i]a[i]a[i]。于是我们考虑加状态,得到dp[i][ 阅读全文
摘要:
一看到这道题就感觉是爆搜,于是我们就枚举每一次Bessie的可能选择,选可能的最小字典序的序列,写出了这样的代码: #include <iostream> using namespace std; int T,n,m,k; int a[300010][10]; bool check(int p,in 阅读全文