认真刷题100年不动摇
Ice_teapoy
emmmmmmm,退役OIer...萌新ACMer...不定时更新...
展开
-
【2022牛客多校-8】D - Poker Game: Decision
2022牛客多校 D - Poker Game: Decision原创 2022-08-13 18:03:04 · 373 阅读 · 0 评论 -
【2022牛客多校-2】H - Take the Elevator
2022牛客多校 H - Take the Elevator原创 2022-07-26 23:45:26 · 394 阅读 · 0 评论 -
【2022牛客多校-2】G Link with Monotonic Subsequence
2022牛客多校-2 G Link with Monotonic Subsequence原创 2022-07-26 19:42:21 · 434 阅读 · 0 评论 -
【2022杭电多校-2】1009 ShuanQ
2022杭电多校第二场1009ShuanQ。原创 2022-07-21 17:18:05 · 354 阅读 · 0 评论 -
POJ3299 Humidex
题意给定温度、露点和湿度三者中的两者,求没给出的那一项。代码#include<iostream>#include<math.h>#include<string>#include<iomanip>using namespace std;int main(void){ char alpha; double t,d,h; int i; for(;;) { t=d=h=200; for(i=0;i<2;i++) {原创 2021-08-25 21:35:40 · 190 阅读 · 0 评论 -
HDU5428 The Factor
题意求∏a[i]\prod a[i]∏a[i]的最小合数因数。思路对a[i]进行质因数分解,找到最小的两个质因数,输出他们的积。代码#include <stdio.h>#include <algorithm>#include <cmath>using namespace std;int main(){ int T,tot,n,a[101],x,y; for (scanf("%d",&T);T--;) { scanf("%d",&原创 2021-07-28 09:18:23 · 131 阅读 · 0 评论 -
OpenJBailian2386 Lake Counting
题意求由"W"和".“组成的二维数组中有多少组连通的"W”。连通:上下左右左上左下右上右下相邻。思路DFS。代码#include <stdio.h>char a[101][101];int n,m,ans;void dfs(int x,int y){ a[x][y]='.'; if (a[x-1][y+1]=='W') dfs(x-1,y+1); if (a[x-1][y-1]=='W') dfs(x-1,y-1); if (a[x+1][y-1]=='W') dfs原创 2021-07-28 09:07:42 · 94 阅读 · 0 评论 -
POJ3061 Subsequence
题意求出序列中连续元素之和大于或等于S的子序列的最小长度。思路尺取。代码#include <stdio.h>long long a[1000001];int T,n;long long s;int check(int x){ for (int i=x;i<=n;++i) if (a[i]-a[i-x]>=s) return 1; return 0; }int main(){ for (scanf("%d",&T);T--;) {原创 2021-07-28 08:59:21 · 120 阅读 · 0 评论 -
POJ3122 Pie
题意n个半径为r[i]的圆,要求切出F+1个面积相等的块(对形状没有要求),求块的面积最大是多少。思路令x表示切出来的块的面积。发现我们很难通过已知信息求得x,但我们可以很容易的判断x是否是一个合法的答案。同时,若x为最优解,则一定切不出F+1个比x面积更大的块;一定能切出F+1个比x面积更小的块。满足二分性。则解法为:二分块的大小,对每个圆能切出的块的数量进行求和记为sum,比较sum和F+1对二分区间进行转移。代码#include <stdio.h>#include <原创 2021-07-28 08:55:10 · 167 阅读 · 0 评论 -
POJ2785 Values whose Sum is 0
题意给定四个整数值列表 A、B、C、D,计算有多少个四元组 (a, b, c, d ) ∈ A x B x C x D 使得 a + b + c + d = 0。四元组大小均为n。思路最简单的思路是n4n^4n4暴力,显然会TLE。可以通过计算出ABC中三元组的和记为abc,在D中二分查找abc将算法复杂度降为n3lognn^3lognn3logn,依然会TLE。依然运用二分思想,将AB的和保存下来,存入数组a中,再二重循环遍历CD计算出CD二元组的值cd,在a数组中查找cd出现的次数将其累加即可原创 2021-07-28 08:44:58 · 172 阅读 · 0 评论 -
POJ3292 Semi-prime H-numbers
题意定义所有形如 4*k+1 (k为正整数) 的数字为h数,如1,5,9,13,17,21,……。定义在h数集中仅能用1与本身乘积表示的数(不包括1)为h素数。定义在h数集中可以表示为两个h素数乘积表示的数为h半素数。试求有多少小于等于给定h数的h半素数。思路暴力预处理,直接查询输出。代码#include <stdio.h>int n=1000001,x,h[1000005];int main(){ for (int i=5;i<=n;i+=4) for (in原创 2021-07-26 12:46:55 · 196 阅读 · 0 评论 -
CodeForces616D Longest k-Good Segment
题意找序列中最长的包括不超过k个不同元素的子区间,输出任意合法区间的左右端点下标。思路尺取法,用数组存储元素的出现次数。代码#include <stdio.h>#include <string.h>int n,k,v[1000001],a[500001];int l,r,mid;int check(int m){ memset(v,0,sizeof(v)); int sum=0; for (int i=1;i<=m;++i) { if (!v[a原创 2021-07-26 12:35:35 · 149 阅读 · 0 评论 -
HDU1312 Red and Black
题意有一个长方形的房间,铺着方砖。每块瓷砖都是红色或黑色。一个人站在一块黑色的瓷砖上。从一块瓷砖,他可以移动到四个相邻的瓷砖之一。但是他不能在红色瓷砖上移动,只能在黑色瓷砖上移动。计算他通过重复上述动作可以达到的黑色瓷砖的数量。思路搜索。代码#include <stdio.h>#include <string.h>char a[21][21];int n,m,ans;void dfs(int x,int y){ a[x][y]='#'; ans++; if原创 2021-07-26 12:30:47 · 338 阅读 · 0 评论 -
洛谷P1590 失踪的7
远古的Pascal人也使用阿拉伯数字来进行计数,但是他们又不喜欢使用7,因为他们认为7是一个不吉祥的数字,所以Pascal数字8其实表示的是自然数中的7,18表示的是自然数中的16。下面计算一下,在正整数n范围以内包含有多少个Pascal数字。原创 2017-11-29 17:43:49 · 951 阅读 · 0 评论