monthly专题

ZOJ Monthly, August 2014小记

最近太忙太忙,只能抽时间写几道简单题。不过我倒是明白要想水平提高不看题解是最好的了。 A  我只能死找规律了,无法证明 int a[50002][2] ;vector< vector<int> > gmax , gmin ;int main(){int n , i , j , k , cmax , cmin ;while(cin>>n){/* g

POJ3273-Monthly Expense (最小化最大值)

题目链接:click here~~ 【题目大意】  农夫JF在n天中每天的花费,要求把这n天分作m组,每组的天数必然是连续的,要求分得各组的花费之和应该尽可能地小,最后输出各组花费之和中的最大值 【解题思路】: 经典的最小化最大值问题,要求连续的m个子序列,子序列的和最大值的最小,枚举满足条件的m的最小值即为答案,因此二分查找。 1.是否能把序列划分为每个序列之和不大于mid的m个子序列

135 - ZOJ Monthly, August 2014

135 - ZOJ Monthly, August 2014 A:构造问题,判断序列奇偶性,很容易发现最小值不是1就是0,最大值不是n就是n - 1,注意细节去构造即可 E:dp,dp[i][j]表示长度i,末尾状态为j的最大值,然后每个位置数字取与不取,不断状态转移即可 G:就一个模拟题没什么好说的 H:dfs,每次dfs下去,把子树宽度保存下来,然后找最大值,如果有多个,就是

POJ 3723 Monthly Expense 二分

题意:给你n个值,要求将其划分成m部分(顺序不能打乱),如何划分使得最大部分的值最小。 题解:二分,对于每一个中间值,检测一次。 #include<cstdio>int N, M;int spend[200000];bool check ( int num ){int i, sum, cnt = 0;for ( i = 0; i < N; ){sum = 0; cnt++;w

POJ 3273 Monthly Expense(二分)

题目链接:点击打开链接 题目大意是说给n个数,要求分成m组,必须连续的数才能合并成一个组,求满足ans大于等于每一组的和的最小ans(每个组可以只有1个数) 显然二分查找最小的ans //Must so#include<iostream>#include<algorithm>#include<string>#include<sstream>#include<queue>

156 - ZOJ Monthly, January 2019 - A Little Sub and Pascal's Triangle找规律

Little Sub is about to take a math exam at school. As he is very confident, he believes there is no need for a review. Little Sub’s father, Mr.Potato, is nervous about Little Sub’s attitude, so he gi

ZOJ Monthly, March 2018 A B C J H

A Easy Number Game 贪心 很容易想到,将数列排序 将前2n个数 掐头去尾的相乘求和 #include<iostream>#include<cstring>#include<algorithm>using namespace std;int T;int n,m;int s[100100];int main(){cin>>T;while(T--){cin>>n>>

EOJ Monthly 2020.7 Sponsored by TuSimple——E

因数串 很少能遇到这种用到基础数论知识的题,写篇博客复习一下。 首先,输入的n对数,是将这个数进行质因数分解的结果,任何一个大于1的正整数都能唯一分解为有限个质数的乘积,可写作: N=p1c1p2c2p3c3…pmcm 其中pi都是质数,其p1<p2<p3…<pm。 一个数的因子个数为:(c1+1)(c2+1)(c3+1)…*(cm+1) #include<bits/stdc++.h>us

EOJ Monthly 2021.10 Sponsored by TuSimple B. Secret(BFS)

菜鸡只会做水题 // #pragma GCC optimize(2)#include <algorithm>#include <iostream>#include <sstream>#include <cstring>#include <cstdio>#include <random>#include <cctype>#include <bitset>#includ

EOJ Monthly 2021.3 Sponsored by TuSimple

D. 关于小方的爆款桌游还没面世就要夭折这回事 没有首先想到题解中给的方法 可以用n=2的情况稍微归纳一下 猜一个结果 https://acm.ecnu.edu.cn/contest/375/problem/D/ #include <stdio.h>#include <iostream>using namespace std;int main(){int n=0;int m=0;

EOJ Monthly 2020.7 Sponsored by TuSimple(A 签到 B 签到 C 思维+二维前缀和 E dfs 构造)

题目链接 A. 打字机 做法:签到题,对b进行 a 的匹配。类似括号匹配的做法。若有匹配则看最后一个b的前面a的数量是否比b 是 输出 Happy Fang否 输出 Sad Fang。 若匹配失败 输出 Dead Fang 。 特判断全a的情况 #include<bits/stdc++.h>#define rep(i,a,b) for(int i=a;i<=(b);++i)#def

EOJ Monthly 2020.9 Sponsored by TuSimple B. 健康监测计划

EOJ Monthly 2020.9 Sponsored by TuSimple B. 健康监测计划 题目链接 规律题~ 对于 k k k 为偶数的时候,就是取 k 2 \frac{k}{2} 2k​ 次叶子(一次是指取当前图中的所有叶子结点,且每取一次叶子结点都要删去),当 k k k 为奇数的时候,多取一个结点,AC代码如下: #include <bits/stdc++.h>us

CSU Monthly 2012 Aug.

http://acm.csu.edu.cn/OnlineJudge/contest.php?cid=2026 这次参加比赛,结果就被完虐了 B题 我用的bfs ,随便写写竟然1A,我以为题目肯定还有我没有考虑到的情况 #include <iostream>#include <cstdio>#include <cstring>#include <algorithm>using

(POJ3273)Monthly Expense 二分法 + 贪心

Monthly Expense Description Farmer John is an astounding accounting wizard and has realized he might run out of money to run the farm. He has already calculated and recorded the exact amount of mone

EOJ Monthly 2020.9 B. 健康监测计划

B. 健康监测计划 单点时限: 2.0 sec 内存限制: 256 MB QQ 小方接到了来自学校防控疫情指挥部的任务,协助指挥部部署校园内的健康监测站。 华东师范大学共有 n 栋楼房,编号为 1,2,…,n,并有 n−1 条双向联通的道路连接这些楼房,使得任意两栋楼房之间有且仅有一条简单路径(一条简单路径是指,从一栋大楼出发,不经过重复大楼,并在另一栋大楼结束的路径)。学校为了贯彻落实常

『The Monthly Echo』二月社区成长回顾

前言 为了能让大家了解到社区的最新动态以及 Apache ShardingSphere 的最新技术进展,我们全新开启了 Apache ShardingSphere 月度回顾栏目,将在内容中回顾当月的发展事件,涵盖 Apache ShardingSphere 版本更新、项目进展、社区活动、最新客户案例等相关内容,希望大家能对 Apache ShardingSphere 社区以及微信公众号更新保持持

【EOJ Monthly】2021.3

A:读不懂古神语的程序员不是一个合格的探险家   挺好玩的一个题1。其实按照题意来说就是一个环,从最小值到最大值都是递增的,从一号结点拆开也就是一个二次函数或者三次函数,让你找最值。一开始写了一个普普通通的三分代码,其实会有一个很致命的问题就是越界的问题(针对于三次函数并不是单峰的情况)。后来发现了一种很妙的代码:就是在左端点和中点的下一个点去判断这个上升/下降趋势,然后分类讨论: #inc

二分入门总结 B - Cable master,C - Aggressive cows,A - Monthly Expense

二分入门 A - Monthly Expense(最大值的最小值)代码 C - Aggressive cows(最小值的最大)代码 B - Cable master(只找最大的)代码 二分的模板有两种: 一种是:找大于等于给定数的第一个位置(满足条件的第一个数) 一种是:找小于等于给定数的最后一个数(满足条件的最后一个数字) 1.首先先引用一下大佬的图 链接

Google Earth Engine ——MCD64A1.006 MODIS Burned Area Monthly Global 500m第6版燃烧区数据产品

Terra和Aqua结合的MCD64A1第6版燃烧区数据产品是每月一次的全球网格化500米产品,包含每像素的燃烧区和质量信息。MCD64A1烧毁面积绘图方法采用了500米MODIS表面反射图像和1公里MODIS主动火灾观测。该算法使用对燃烧敏感的植被指数(VI)来创建动态阈值,应用于综合数据。VI是由MODIS短波红外大气校正表面反射带5和7得出的,带有时间纹理的测量。该算法确定了每个单独的MOD

poj 3273 Monthly Expense 二分查找

只想说一句:二分查找的时候注意:要确定上下界,而我是l=0,r=INF 二分的,wa了许多次 #include<stdio.h> #define INF 0x3f3f3f3f int N,M,d[100000+16]; int judge(int x) {     int ans=0,cnt=1,i;     for(i=0;i<N;i++)     {           ans+=d[i];

12 月版的 Java Annotated Monthly

本心、输入输出、结果 文章目录 12 月版的 Java Annotated Monthly前言Java 新闻使用 Gatherers 实现更好的 Java 流 – Inside Java Newscast #57Java 21 的新功能GPU 上的 Java 以下是本月针对 JDK 22 的新 JEP 候选者和 JEP 列表Java 教程和技巧框架、库相关花有重开日,人无再少年实践是

ZOJ Monthly, June 2012 - K Factorial Problem in Base K - zoj 3621

本场比赛,相对最好做的一题,看出本质,就容易了。 问题简化下,比如给你十进制数 s, 问 s! 末尾有几个0。我们一般都是直接找有多少个 2,5。因为2*5 = 10 那么 现在是 k进制数 s, 同理,就是找 s! 里面,有多少个因子的能够组成 k,最多组成 ans 个 k, ans 就是答案。 这个 自己可以简单证明下。后面好处理。 View Code 1 #include<cs

ZOJ Monthly, January 2019 E:Little Sub and Mr.Potato's Math Problem 构造

题目描述 让我们来考虑1到N的正整数集合。让我们把集合中的元素按照字典序排列,例如当N=11时,其顺序应该为:1,10,11,2,3,4,5,6,7,8,9。 定义K在N个数中的位置为Q(N,K),例如Q(11,2)=4。现在给出整数K和M,要求找到最小的N,使得Q(N,K)=M。 输入输出格式 输入格式:   输入文件只有一行,是两个整数K和M。   输出格式:   输出文件

EOJ Monthly 2019.9 (based on September Selection) - D. 站军姿

- ECNU 华东师大月赛D题 - D. 站军姿 单点时限: 2.0 sec | 内存限制: 512 MB 题目描述 “向右看齐” “向前看” “ 20 分钟军姿” 每天的军训, Cuber QQ 最喜欢的就是站军姿的环节。因为在站军姿的时候, Cuber QQ 可以看着美丽的丽娃河思考人生。 今天, Cuber QQ 开始观察丽娃河上的鸭子了。 Cuber QQ 近似地把丽娃

EOJ Monthly 2019.9 (based on September Selection) A.才艺展示(博弈sg找规律)、D.站军姿(概率)

A. 才艺展示(sg找规律) 题目 Cuber QQ 和 Little Fang 两人会按照游戏规则轮流写 { 1,2,⋯,N } ( N 是一个正整数)中的一个数。 游戏的规则是这样的,若一个人写下数 i , 则另一个人只能写 i+1 或 2i ( i,i+1,2i 均不超过 N )。两个人中,谁先写到 N 这个数字,谁就能获胜。 当然 Cuber QQ 为了表现自己的绅士,他让 Lit

poj-3273-Monthly Expense-二分

题意: 给你n m 然后给你n个数。让你把这n个数分为m个部分,每个部分都是连续的。问所有部分中的最大值最小的值。 做法: 二分。一开始上届是n个数的和。代表只分一组。 下届是n个数中最大的数。代表分n组; 如果结果是mid=(上届+下届)/2;那么根据mid看看能分多少组。组数大于m,代表mid比实际值小。下届变成mid+1。否则,上届变成mid-1; #include<