hdu 4452 37届金华赛区 K题】的更多相关文章

题意:给一个n*n的格子,1在左上角,2在右下角,每个人有一个初始速度和方向,若遇到边缘,则朝相反方向前进,若两个人相遇则交换方向(注意方向改变后,人仍然需要移动),同时,每个人每过t1,t2时间就会朝左转向,求K秒时那个人所在的方向 模拟,看起来比较麻烦,实际写起来还是比较好写的 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<que…
题意:给一个坦克的高度,求炮弹能打中最多的数量 枚举角度,作为一名学霸虽然很快推出了公式,但是却没有考虑到,角度可以朝下的情况 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<queue> #include<map> using namespace std; #define…
题意:给出衣服裤子鞋子的数目,有一些衣服和裤子,裤子和鞋子不能搭配,求最终的搭配方案总数 wa点很多,我写wa了很多次,代码能力需要进一步提升 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<queue> #include<map> using namespace std;…
题意:给出一些队伍,每个队伍有初始等待时间和每秒增加的时间,求最短时间 假设有两个队初始时间和每秒增加时间为a1,b1和a2,b2 若第选择第一个的时间小于第二个,则 a1+a2+a1*b2<a2+a1+a2*b1 化简得a1*b2<a2*b1,注意不要除过去,否则会有除以零报错 卧槽,MOD写错了,wa了半天 #include<cstdio> #include<iostream> #include<algorithm> #include<cstrin…
题意:给坐标系上的一些点,其中有两个点已经连了一条边,求最小生成树的值 将已连接的两点权值置为0,这样一定能加入最小生成树里 最后的结果加上这两点的距离即为所求 #include<cstdio> #include<iostream> #include<algorithm> #include<cstring> #include<cmath> #include<queue> #include<map> using namesp…
Dressing Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submission(s): 2674    Accepted Submission(s): 1179 Problem Description Wangpeng has N clothes, M pants and K shoes so theoretically he can have N×M×K…
#include"bits/stdc++.h" #define db double #define ll long long #define vec vector<ll> #define Mt vector<vec> #define ci(x) scanf("%d",&x) #define cd(x) scanf("%lf",&x) #define cl(x) scanf("%lld",…
题目链接 题意:n个人排成一列,一开始他们互不认识,每次选[l,r]上的人开party,使他们互相认识,求出每次party之后新互相认识的人的对数. 思路:把“互相认识”变成单向连边,只考虑左边的人对右边的贡献.对于每个人,他认识的人的区间必然是连续的,可以维护他认识的最右边的人R,这样更新操作相当于把[l,r]所有人的R值变成max(R,r),可以构造线段树维护每个区间中R的最小值mi,如果最小值大于等于R的话就不用更新了,直接退出,否则暴力修改每个点的值. 先上个假算法: #include<…
传送门 对于错想成lis的解法,提供一组反例 1 3 4 2 5同时对于这次案例也可以观察出解法:对于每一个数,如果存在比它小的数在它后面,它势必需要移动,因为只能小的数无法向右移动,而且每一次移动都必然可以使得这个数到达正确位置,这是根据题意而得的 #include<queue> #include<cmath> #include<cstdio> #include<cstring> #include<cstdlib> #include<io…
传送门 k题: 题意: 给你一串由数字构成的字符串,你从这个字符串中找子字符串使这个字符串是300的倍数 题解: 这道题和第三场的B题极其相似 首先可以把是三百的倍数分开,必须要是100和3的倍数 是100的倍数就要求后面必须有两个0 是3的倍数就可以通过这个子字符串的数字之和是3的倍数来判断 那么暴力来计算子字符串肯定会超时,所以这个3的倍数这里要优化 首先我们要对这个字符串进行初始化,计算它的前缀和取余3后的结果 首先对一个0的出现要特判,因为题目上说了0也算300的倍数 其次大家想一下如果…