题目传送门 说是加强版,其实可以把棋盘那道题的代码粘过来(注意要开long long): #include<bits/stdc++.h> using namespace std; ,c; int main(){ cin>>n>>m; ;i<(n>m?m:n);++i) z+=(n-i)*(m-i); c=(+n)*(+m)*n*m/-z; cout<<z<<" "<<c<<endl; ; }…
https://www.luogu.org/problem/show?pid=2241 题目背景 1997年普及组第一题 题目描述 有一个n*m方格的棋盘,求其方格包含多少正方形.长方形 输入输出格式 输入格式: n,m因为原来数据太弱,现规定m小于等于5000,n小于等于5000(原来是100,100) 输出格式: 方格包含多少正方形.长方形 输入输出样例 输入样例#1: 2 3 输出样例#1: 8 10 #include <algorithm> #include <cstdio>…
点击查看代码 #include<bits/stdc++.h> using namespace std; long long n, m, total, sum1, sum2; int main() { cin >> n >> m; int min_mn = min(m ,n); for (int i = 1; i <= min_mn; i++) { sum1 += (n - i + 1) * (m - i + 1); } cout << sum1 <…
洛谷P1120 小木棍 [数据加强版] 搜索+剪枝 [剪枝操作]:若某组拼接不成立,且此时 已拼接的长度为0 或 当前已拼接的长度与刚才枚举的长度之和为最终枚举的答案时,则可直接跳出循环.因为此时继续枚举其它更小的值时,显然可能情况更少,且同样凑不完. #include<stdio.h> #include<string.h> #include<stdlib.h> #include<algorithm> using namespace std; const i…
题目传送门 校园网络 题目背景 浙江省的几所OI强校的神犇发明了一种人工智能,可以AC任何题目,所以他们决定建立一个网络来共享这个软件.但是由于他们脑力劳动过多导致全身无力身体被♂掏♂空,他们来找你帮助他们. 题目描述 共有n所学校(n<=10000)已知他们实现设计好的网络共m条线路,为了保证高速,网络是单向的.现在请你告诉他们至少选几所学校作为共享软件的母机母鸡,能使每所学校都可以用上.再告诉他们至少要添加几条线路能使任意一所学校作为母机母鸡都可以使别的学校使用上软件. 输入输出格式 输入格…
这道题可能是我做过的数据最不水的一道题-- 题目传送门 这题可以说是神剪枝,本身搜索并不算难,但剪枝是真不好想(好吧,我承认我看了题解)-- 剪枝: 用桶来存储木棍 在输入的时候记录下最长的木棍和最短的木棍和木棍的总长 搜索时保证目前答案能整除木棍 搜索时记录下上一层的木棍长度,然后从该木棍的长度到小进行枚举 如果搜回来发现当前木棍长度等于答案,那么直接return 大的剪枝就这些了,还有一些小剪枝,具体还是看代码吧: #include<iostream> #include<cstdio…
洛谷P2503 [HAOI2006]均分数据(随机化贪心) 现在来看这个题就是水题,但模拟赛时想了1个小时贪心,推了一堆结论,最后发现贪心做 不了, 又想了半个小时dp 发现dp好像也做不了,在随机化贪心和模拟退火 选了模拟退火但写炸了.(我怎么这么水).我们来看这个题,采取 随机化贪心,利用random_shuffle函数将所有数字不停随机 化,每次 随机化后贪心的取就可以,因为采取的是随机化贪心,所以贪心策略不必最优,我们用x数组去存 储每个位置的值,枚举每一个数字,将数字加到最小的位置即可…
洛谷P2241-统计方形 题目描述: 有一个 \(n \times m\) 方格的棋盘,求其方格包含多少正方形.长方形(不包含正方形). 思路: 所有方形的个数=正方形的个数+长方形的个数.对于任意一个\(x\times y\)的矩形,以这个方形右下角的那个块作为要在矩形内选择正方形\长方形的右下角,则正方形的个数为\(min(x,y)\),长方形的个数为\(x*y\). 解释如下:对于一个\(x\times y\)的矩形,右下角的块必选,则能和这个块组成的正方形的右上角块全在这个主对角线上,而…
题目背景 1997年普及组第一题 题目描述 有一个n*m方格的棋盘,求其方格包含多少正方形.长方形 输入输出格式 输入格式: n,m因为原来数据太弱,现规定m小于等于5000,n小于等于5000(原来是100,100) 输出格式: 方格包含多少正方形.长方形 输入输出样例 输入样例#1: 2 3 输出样例#1: 8 10 正方形个数 边长为1 个数n*m 边长为2 个数(n-1)*(m-1) 边长为3 个数(n-2)*(m-2) 所以 边长为min{n,m} 个数(m-min{n,m}+1)*(…
P1308 统计单词数 题目描述 一般的文本编辑器都有查找单词的功能,该功能可以快速定位特定单词在文章中的位置,有的还能统计出特定单词在文章中出现的次数. 现在,请你编程实现这一功能,具体要求是:给定一个单词,请你输出它在给定的文章中出现的次数和第一次出现的位置.注意:匹配单词时,不区分大小写,但要求完全匹配,即给定单词必须与文章 中的某一独立单词在不区分大小写的情况下完全相同(参见样例1 ),如果给定单词仅是文章中某一单词的一部分则不算匹配(参见样例2 ). 输入输出格式 输入格式: 输入文件…