技巧题
SYaoJun
这个作者很懒,什么都没留下…
展开
-
1049 数列的片段和 (20 分)
找规律找得出来才有鬼!#include<bits/stdc++.h>double x,ans=0;int main(){ int n; scanf("%d",&n); for(int i=1;i<=n;i++){ scanf("%lf",&x); ans +=x*i*(n-i+1); } printf("%.2f\n",ans); re...原创 2019-01-28 17:31:54 · 672 阅读 · 3 评论 -
1045 快速排序 (25 分)
有点类似动态规划两个数组left记录前面的最大值right记录后面的最小值如果当前值比左边最大的大,比右边最小的小,则有可能是主元。#include<bits/stdc++.h>const int maxn=1e5+5;int arr[maxn],left[maxn],right[maxn];int main(){ memset(arr,0,sizeof(arr));...原创 2019-01-28 20:26:27 · 146 阅读 · 1 评论 -
1065 A+B and C (64bit) (20 分)
两个正数之和为负数 则正溢出两个负数之和为正数 则负溢出正负溢出都可以包含零,因为在补码中,零有两种形式0000和1000都表示零。但是在long long中,如果给的边界是[-263,263−12^{63},2^{63}-1263,263−1],零一般放在负溢出中。A,B最大取263−12^{63}-1263−1 ,故A+B最大为264−22^{64}-2264−2,最小为2632^{6...原创 2019-02-13 13:04:28 · 149 阅读 · 0 评论 -
1101 Quick Sort (25 分)
题目链接用两个数组,一个记录左边的最大值,一个记录右边的最小值,如果是主元肯定是满足大于左边的最大,小于右边的最小。#include<bits/stdc++.h>using namespace std;const int maxn=1e5+5;int a[maxn],minR[maxn],maxL[maxn],ans[maxn];const int INF = 0x3fff...原创 2019-07-23 19:32:46 · 204 阅读 · 0 评论 -
1003 我要通过! (20 分)
说实话,这道题还是很难的,我记得我第一次做的时候,题目都没读懂。到后来看了一遍解析之后再做,还是心有余悸。首先三个条件:1.只包含PAT三个字符\color{red}1.只包含PAT三个字符1.只包含PAT三个字符所以遍历一遍,把包含其他字符的字符串直接输出NO2.形如xPATx的是正确的答案,x为空或者仅由A组成。\color{red}2.形如xPATx的是正确的答案,x为空或者仅由A组...原创 2019-08-31 09:26:36 · 186 阅读 · 0 评论 -
2101 越界了吗
#include <iostream>using namespace std;int main(){ long long a, b; cin>>a>>b; long long u = INT_MAX; long long v = INT_MIN; if(a+b< v || a+b > u) printf("Yes"); else p...原创 2019-09-09 10:49:14 · 254 阅读 · 0 评论 -
48. Rotate Image
顺时针90度:先上下翻转,再主对角线翻转逆时针90度:先主对角线翻转,再上下翻转class Solution {public: void rotate(vector<vector<int>>& mat) { int n = mat.size(); //上下翻转 for(int i = 0; i &l...原创 2019-09-13 08:31:09 · 71 阅读 · 0 评论