四川省赛 SCU - 4438】的更多相关文章

Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text pp. Her job is relatively simple -- just to find the first occurence of sensitive word ww and remove it. frog repeats over and over again. Help her do the tedi…
 SCU 4438 Censor Time Limit:0MS     Memory Limit:0KB     64bit IO Format:%lld & %llu  Practice Description Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text pp. Her job is relatively simple -- just to find the…
Censor frog is now a editor to censor so-called sensitive words (敏感词). She has a long text \(p\). Her job is relatively simple -- just to find the first occurence of sensitive word \(w\) and remove it. frog repeats over and over again. Help her do th…
题目链接:http://acm.scu.edu.cn/soj/problem/4440/ 题目大意:给一个n*m的方格,求周长小于等于k的矩形有多少个. 解题思路:我之前直接暴力,显然超时,所以后来发现,可以用等差数列的求前n项和公式来代替一层for循环,这样就只有一重循环了,不会超时. AC代码: #include <cstdio> #include <cmath> #include <cstring> #include <algorithm> #incl…
题目链接:http://acm.scu.edu.cn/soj/problem/4436/ 题意:给你n个整数,求这n个数的平方根和是否是一个整数: 解题思路:如果这题每个数给他算出来,必然费时间,可能还会超精度,所以巧妙的方法就是判断这些整数是否全是完全平方数,如果有一个不是,则他们的平方根和肯定不是一个整数. AC代码: #include <cstdio> #include <cmath> #include <cstring> #include <algorit…
先给你1~N的N个数 再给你每种最多50个的条件(ai,bi,ci) 或者[ai,bi,ci] (ai,bi,ci)表示下标ai到bi的最小值必为ci [ai,bi,ci]表示下标ai到bi的最大值必为ci 问你能不能有一种1~N的排列满足要求且字典序最小 首先这是一个左边n个 右边n个的二分图 左边表示位置 右边表示值 每个位置只能对应一个值 且要完美匹配才有解 那么如何建边? 我们用l[i] r[i]两个数组表示值i必定出现的最右左界和最左右界 用minn[i] maxn[i]两个数组表示下…
给你一个一般图 保证每条边的一端下标不大于30 问最小覆盖集的大小为多少 爆搜:枚举前30个点是否在覆盖集内 剪枝1:如果不在的话 那么他所连的下标大于30的点都必须选 剪纸2:最优解剪枝 #include<bits/stdc++.h> using namespace std; int n, m; bitset<> G[], em; int cnt, ans; > a) { if (a.count() >= ans) { return; } || o > ) {…
给你一个一共由两种边的完全图 要求你求1到N的最短路 q队列为前沿队列(已探索过且最外围的点)  p队列为未探索队列(未探索过的点) depth这个数组的用法并不是代表实际上这个点在第几层 而是防止死循环 保证每次通过前沿的一个点都只会遍历p中每个点一次 #include <bits/stdc++.h> using namespace std; typedef long long ll; ; ; ; int n,m,a,b,nm,qwq; int head[maxn]; ll dis[maxn…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4727 题目大意:队列里所有人进行报数,要找出报错的那个人 思路:,只要找出序列中与钱一个人的数字差不是1的人即可,但是要注意的是这些人是从一个队列中间截取下来的,所以很有可能第一个人就报错了,一开始没有考虑这种状况所以出错了 #include<cstdio> #include <iostream> using namespace std; int main() { int t,n,an…
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4722 题目大意:给定一个区间,求区间中有多少个满足每位上的数的和是10的倍数. 解题思路:先打表暴力求出前200项符合条件的个数,然后再找规律. 0~9    0    1个 10~19  9   1个 20~-29  18  1个 0~100         10个 0~200         20个 基本规律:r/10-(l-1)/10;只需要找两端点是否在范围内即可 #include<cstd…