这个题目背景真的是让我想起了当年... 不说了,言归正传,这题,一眼看去30分暴力还是很好拿的,但我因为考试时的心态问题没有处理好细节爆了零. 30分暴力的普遍思路的复杂度应该是$O(nmd)$的,但是d的数据范围实在恐怖,根本无法AC. 30分思路看上去优化空间不是很大(但是有神犇想出了矩阵快速幂加速转移,TQL). 我们考虑转换一下思路,首先d肯定是不能放进复杂度里的,那又要怎么转移呢,我们观察到因为最多有n块饼干,所以最多真正给她饼干的天数也就是n天,那么我们根据这个来设计状态:设$f[i…
题目大意:https://www.cnblogs.com/Juve/articles/11219089.html 读这道题的题目让我想起了... woc我到底在想什么?好好写题解,现在不是干那个的时候!!! 好吧,这题我交了20多次,一开始发现爆了long long,连慢速乘都用上了 但毫无改观,2000 1000000000000 2000的数据都能过,为什么还是30分? 后来我颓了个代码... 对于次题的题解: 还是看官方题解吧,我已经不想写了 30分白白送,可以直接暴力.对于更更多的分数,…
那一天我们许下约定 内部题,题干不粘了. $30分算法$ 首先看数据范围,可以写出来一个普通dp #include<bits/stdc++.h> #define ll int #define A 2100 #define mod 998244353 using namespace std; ll f[1501][A+A+A],n,d,m; int main() { scanf("%d%d%d",&n,&d,&m); while(n!=0&&a…
比较好想的一道题,只是那个组合数比较恶心. 先说一下我最开始想的$n^4$的沙雕dp: 设f[i][j][k]为前i天给了j个,第i天给了k个,则f[i][j][k]=∑f[i-1][j-k][o]; 复杂度凑起来大概是$n^4$,因为本来就是针对30%打的,没有考虑特别大的d. 观察上面的式子,发现第三维并没有什么卵用,把它干掉,f[i][j]表示前i天给j个,那么f[i][j]=∑f[i-1][k](j-m+1<=k<=j),复杂度$n^2d$,显然可以用前缀和优化,复杂度$nd$. 但是…
题目传送门(内部题2) 输入格式 每个测试点有多组测试数据.对于每组数据,有一行共三个整数$N$,$D$,$M$含义如题.输入结束标识为$“0 0 0”$ (不含引号). 输出格式 对于每组数据,输出一行共一个整数,表示方案数对$998244353$取膜后的结果. 样例 样例输入: 5 2 53 3 35 4 54 1 21 5 11250 50 500 0 0 样例输出: 475200505279299 数据范围与提示 $T \leqslant 10$ 对于$30\%$的数据: $N \leq…
看了题目名字深切怀疑出题人是不是失恋了,然后出题折磨我们.然后这题就愉快的打了个暴力,最后莫名其妙wa20,伤心..... 其实这题正解不是很难想,如果说把暴力的DP搞出来,正解也差不到哪去了, 我们发现此题中暴力的话 一层枚举D即天数,另一层枚举当前给过的饼干数j,然后还有一层枚举上一层的饼干数,(当然还可以通过前缀和删去一维) 但是我们观察数据范围,发现D及其的大!!!!!!! 显然枚举中不能出现D 有一条显然的性质,如果你有N块饼干,那么最多给N天,每天给一块就会给完. 那么我们第一维枚举…
一文读懂AI简史:当年各国烧钱许下的愿,有些至今仍未实现 导读:近日,马云.马化腾.李彦宏等互联网大佬纷纷亮相2018世界人工智能大会,并登台演讲.关于人工智能的现状与未来,他们提出了各自的观点,也引发网友热议.有人认为大佬们的分享干货满满,也有人有不同观点,认为我们并没有真正搞懂人工智能,更无法预测未来. 如果回溯历史,你会发现,人工智能一直是国内外计算机.互联网大佬们喜欢的话题.他们的观点和预言,有些已成为今天的生活常态,有些却依然没有实现.本文就带你回顾人工智能发展过程中重要的历史阶段,以…
这题算是这场考试里最水的一道题了吧,就是求个最小环,但之前没练过,就在考场上yy出了最短路+次短路的傻逼解法,首先是不会求次短路,其次是这显然不对呀,自己随便想想就可以反驳这种解法. 正解比较神,但是跑n遍dijkstra就完全可以了,具体细节看代码吧. #include<iostream> #include<cstdio> #include<algorithm> #include<cstring> #include<cmath> #includ…
洛谷P1510 分析:本质上还是一个01背包,将体力当做重量,体积当做价值.配上滚动数组 即dp[j]代表在体力耗费为j时最大能搬运多少体积的石头,当dp[j]>v时就说明存在满足情况的解,这样,就选择最小的j就可以了 PS:我这里用了个中间结果ans,其实没必要,可以直接在后面加上一个for循环,寻找j最小时便满足大于v的dp[j]就行了. #include<bits/stdc++.h> using namespace std; typedef long long ll; const…
用windwos GUI管理界面连接时提示无权限访问: 在/etc/opt/omni/server/users/userlist 添加一行: "" "*" "*" * "admin"  再次运行DP的图形界面即可正常访问DP了.…