題目傳送門:
考點:我本來以為這題就考字首和的,於是我得了40分
後來我發現這個題考的是字首和加分組,但我還是太天真了得了70分
最後我發現,這題其實考的是數學表示式的化簡。。。100分
題目難度:
對於純計算機同學來說普通偏上
對於數學的同學來說普通偏下
不多說了上**:
1、暴力字首和40分
#include #include #include #include //暴力列舉xz
using namespace std;
const int maxn = 1e5 + 10;
int color[maxn];
int number[maxn];
int frontnum[maxn];
void getfrontnum(int i)
turn++;
leftpointer -= 2;
} frontnum[i] = frontnumtemp;
}int main()
for (int i = 1; i <= n; i++)
frontnum[1] = 0;
frontnum[2] = 0;
for (int i = 3; i <= n; i++)
printf("%d", frontnum[n]);
return 0;
}
你的想法永遠跟不上出題老師的套路,
字首和+分組 70分
using namespace std;
const int maxn = 1e5 + 10;
int color[maxn];
int number[maxn];
int frontnum[maxn];
vectorgroup[maxn][2];//每一組中元素
int getsum(vectortemp)
} return res;
}int main()
for (int i = 1; i <= n; i++)
//遍歷整個集合,獲取總和
int ans = 0;
for (int i = 1; i <= m; i++)
} printf("%d", ans);
return 0;
}
數學表示式化簡,具體為什麼看題解
因為我也是看題解才知道的。。。100分
using namespace std;
const int maxn = 1e5 + 10;
int color[maxn];
int number[maxn];
int frontnum[maxn];
int group[maxn][2];
int s[maxn][2];
int getsum(vectortemp)
} return res;
}int main()
for (int i = 1; i <= n; i++)
//遍歷整個集合,獲取總和
int ans = 0;
for (int i = 1; i <= n; i++)
}printf("%d", ans);
return 0;
}
不說了,看數學去了 洛谷 P2671 求和
想要oi學得好,數學肯定不能少 看來我是永遠也學不好了 此篇博文較長 廢話較多 您可以選擇 寫在最前面 其實不需要用 long long 型別,只需在兩數相乘時先取模一次就行了 為什麼可行,請參見取模的百科 又是該死的數學知識 在下面的 中,既有用 long long 的,又有用 int 的,也是因...
洛谷P2671 求和 數論
題目傳送門 格式難調,題面就不放了。分析 zyys 的一道題。很顯然是大力推公式。我們分析一下題目,實際上限制條件就是 下標同奇偶且顏色相同的數,那麼我們先拿這個公式 x z num x num z 套三個變數 x,y,z 推一下 x z num x num z num x x num z z nu...
洛谷 P2671 求和 解題報告
一條狹長的紙帶被均勻劃分出了 n 個格仔,格仔編號從 1 到 n 每個格仔上都染了一種顏色 color i 用 1,m 當中的乙個整數表示 並且寫了乙個數字 number i 定義一種特殊的三元組 x,y,z 其中 x,y,z 都代表紙帶上格仔的編號,這裡的三元組要求滿足以下兩個條件 xyz 是整數...