【题解】P2241
P2241 题目 题目描述: 有一个 n×mn \times mn×m 方格的棋盘,求其方格包含多少正方形、长方形(不包含正方形)。 输入格式: 一行,两个正整数 n,mn,mn,m(n≤5000,m≤5000n \leq 5000,m \leq 5000n≤5000,m≤5000)。 输出格式: 一行,两个正整数,分别表示方格包含多少正方形、长方形(不包含正方形)。 数据范围与说明: 输入输出样例 #1 输入: 12 3 输出: 18 10 代码 1234567891011121314#include<bits/stdc++.h>using namespace std;long long n,m,sqr,rec;int main(){ cin>>n>>m; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(i==j) sqr+=(n-i)*(m-j); else rec+=(n-i)*(m-j); ...
【题解】P1601 高精度加法
P1601 高精度加法(洛谷题面) 题目 题目描述: 给定两个非负整数 a,ba,ba,b,求它们的和。不用考虑负数。 输入格式: 输入共两行,每行一个非负整数,分别为 a,ba,ba,b。 输出格式: 输出一行一个非负整数,表示 a+ba+ba+b 的值。 数据范围与说明: 对于 20%20\%20% 的测试数据,a,b≤109a,b \le 10^9a,b≤109; 对于 40%40\%40% 的测试数据,a,b≤1018a,b \le 10^{18}a,b≤1018; 对于 100%100\%100% 的测试数据,0≤a,b≤105000\le a,b \le 10^{500}0≤a,b≤10500。 输入输出样例 #1 输入: 1211 输出: 12 输入输出样例 #2 输入: 1210019099 输出: 110100 代码 12345678910111213141516171819202122232425262728293031#include<bits/stdc++.h>using namespace std;string...
【题解】P1307
P1307 题目 题目描述: 给定一个整数 NNN,请将该数各个位上数字反转得到一个新数。新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例 2)。 输入格式: 一个整数 NNN。 输出格式: 一个整数,表示反转后的新数。 数据范围与说明: 【数据范围】 。 noip2011 普及组第一题 输入输出样例 #1 输入: 1123 输出: 1321 输入输出样例 #2 输入: 1-380 输出: 1-83 代码 123456789101112131415161718#include<bits/stdc++.h>using namespace std;int main(){ string s; cin>>s; if(s[0]=='0') cout<<0; while(s.back()=='0'&&!s.empty()){ s.erase(s.size()-1); } reverse(s.begin(),s.end()); ...
【深基2.习6】Apples Prologue / 苹果和虫子 - 题解
【深基2.习6】Apples Prologue / 苹果和虫子(洛谷题面) 题目 题目描述: 小 B 喜欢吃苹果。她现在有 mmm(1≤m≤1001 \le m \le 1001≤m≤100)个苹果,吃完一个苹果需要花费 ttt(0≤t≤1000 \le t \le 1000≤t≤100)分钟,吃完一个后立刻开始吃下一个。现在时间过去了 sss(1≤s≤100001 \le s \le 100001≤s≤10000)分钟,请问她还有几个完整的苹果? 输入格式: 输入三个非负整数表示 m,t,sm, t, sm,t,s。 输出格式: 输出一个整数表示答案。 数据范围与说明: 如果你出现了 RE,不如检查一下被零除? 输入输出样例 #1 输入: 150 10 200 输出: 130 代码 1234567891011121314151617#include<bits/stdc++.h>using namespace std;int main(){ int m,t,s; cin>>m>>t>>s; if(t==0)...
【题解】P1567
P1567 题目 题目描述: 炎热的夏日,KC 非常的不爽。他宁可忍受北极的寒冷,也不愿忍受厦门的夏天。最近,他开始研究天气的变化。他希望用研究的结果预测未来的天气。 经历千辛万苦,他收集了连续 N(1≤N≤106)N(1 \leq N \leq 10^6)N(1≤N≤106) 天的最高气温数据。 现在,他想知道最高气温一直上升的最长连续天数。 输入格式: 第 1 行:一个整数 NNN 。1≤N≤1061 \leq N \leq 10^61≤N≤106 第 2 行:NNN个空格隔开的整数,表示连续 NNN 天的最高气温。0≤0 \leq0≤ 最高气温 ≤109\leq 10^9≤109 。 输出格式: 1 行:一个整数,表示最高气温一直上升的最长连续天数。 数据范围与说明: 输入输出样例 #1 输入: 12101 2 3 2 4 5 6 8 5 9 输出: 15 代码 123456789101112131415161718192021#include<bits/stdc++.h>using namespace std;int a[1000005];int...
【题解】P1506
P1506 题目 题目描述: oibh 被突来的洪水淹没了,还好 oibh 总部有在某些重要的地方起一些围墙。用 * 号表示,而一个四面被围墙围住的区域洪水是进不去的。 oibh 总部内部也有许多重要区域,每个重要区域在图中用一个 0 表示。 现在给出 oibh 的围墙建设图,问有多少个没被洪水淹到的重要区域。 输入格式: 第一行为两个正整数 x,yx,yx,y。 接下来 xxx 行,每行 yyy 个字符,由 * 和 0 组成,表示 oibh 总部的建设图。 输出格式: 输出没被水淹没的 oibh 总部的 0 的数量。 数据范围与说明: 对于 100%100\%100% 的数据,1≤x,y≤5001 \le x,y \le 5001≤x,y≤500。 输入输出样例 #1 输入: 123454 50000000*000*0*000*00 输出: 11 输入输出样例 #2 输入: 1234565 5******0*0***0***0*0****** 输出: 15 ...
【题解】P10442
P10442(洛谷题面) 题目 题目描述: 给定字符串 s,ts,ts,t。 现在你要在 s,ts,ts,t 中删除一些字符并将它们重新排列使 s=ts=ts=t。 问操作后的 ∣s∣|s|∣s∣(即字符串 sss 的长度)最大是多少? 输入格式: 第一行一个字符串 sss。 第二行一个字符串 ttt。 输出格式: 一行一个整数,表示操作后的 ∣s∣|s|∣s∣ 的最大值。 数据范围与说明: 在第一个样例中,将 a 删除,留下 bc。 此时 ∣s∣=2|s|=2∣s∣=2,可以证明这是最优解。 在第二个样例中,将 aaaaa 删除,留下空串。 将 bbbbb 删除,留下空串。 此时 ∣s∣=0|s|=0∣s∣=0,可以证明这是最优解。 本题采用捆绑测试。 记...
【题解】P1051
P1051(洛谷题面) 题目 题目描述: 某校的惯例是在每学期的期末考试之后发放奖学金。发放的奖学金共有五种,获取的条件各自不同: 院士奖学金,每人 800080008000 元,期末平均成绩高于 808080 分(>80>80>80),并且在本学期内发表 111 篇或 111 篇以上论文的学生均可获得; 五四奖学金,每人 400040004000 元,期末平均成绩高于 858585 分(>85>85>85),并且班级评议成绩高于 808080 分(>80>80>80)的学生均可获得; 成绩优秀奖,每人 200020002000 元,期末平均成绩高于 909090 分(>90>90>90)的学生均可获得; 西部奖学金,每人 100010001000 元,期末平均成绩高于 858585 分(>85>85>85)的西部省份学生均可获得; 班级贡献奖,每人 850850850 元,班级评议成绩高于 808080...
【题解】P1035 [NOIP 2002 普及组] 级数求和
P1035 [NOIP 2002 普及组] 级数求和(洛谷题面) 题目 题目描述: 已知:Sn=1+12+13+…+1nS_n= 1+\dfrac{1}{2}+\dfrac{1}{3}+…+\dfrac{1}{n}Sn=1+21+31+…+n1。显然对于任意一个整数 kkk,当 nnn 足够大的时候,Sn>kS_n>kSn>k。 现给出一个整数 kkk,要求计算出一个最小的 nnn,使得 Sn>kS_n>kSn>k。 输入格式: 一个正整数 kkk。 输出格式: 一个正整数 nnn。 数据范围与说明: 【数据范围】 对于 100%100\%100% 的数据,1≤k≤151\le k \le 151≤k≤15。 【题目来源】 NOIP 2002 普及组第一题 输入输出样例 #1 输入: 11 输出: 12 题意 简述: 已知:Sn=1+12+13+…+1nS_n= 1+\dfrac{1}{2}+\dfrac{1}{3}+…+\dfrac{1}{n}Sn=1+21+31+…+n1。显然对于任意一个整数 kkk,当 nnn...
Synchronized 与 ReentrantLock 的区别
Synchronized 与 ReentrantLock 的区别 synchronized:隐式锁,JVM 自动加锁 / 释放锁 ReentrantLock:显式锁,需要手动 lock() / unlock() ReentrantLock 本质上是基于 AQS 实现的。 synchronized是非公平锁 然后ReentrantLock 有公平锁有非公平锁 ReentrantLock 支持中断lock.lockInterruptibly();还有超时获取锁 123if (lock.tryLock(1, TimeUnit.SECONDS)) { try { } finally { lock.unlock(); }} synchronized ReentrantLock 锁类型 隐式锁 显式锁 释放方式 自动 手动 公平锁 不支持 支持 可中断 不支持 支持 超时获取 不支持 支持 底层 JVM AQS ReentrantLock的使用场景 一般场景我优先使用...



